【发布时间】:2020-05-07 22:50:39
【问题描述】:
我想从网站上提取一些赔率:
例如,1xbet 的主场赔率是 1.5,我复制该赔率的 XPath 表达式并将其插入到 find_element_by_Xpath。
这是我的小代码:
> from selenium import webdriver from bs4 import BeautifulSoup
>
> driver = webdriver.Firefox() url =
> 'https://www.oddsportal.com/soccer/europe/champions-league-2015-2016/real-madrid-manchester-city-dhJZn1pn/#1X2;2'
> driver.get(url) print(driver.title)
>
> element =
> driver.find_element_by_xpath("/html/body/div[1]/div/div[2]/div[6]/div[1]/div/div[1]/div[2]/div[1]/div[7]/div[1]/table/tbody/tr[2]/td[1]/div/a[2]")
>
> print(element.text)
>
> driver.close()
不幸的是,答案是一个错误:
hao@hao-ThinkPad-T420:~$ ./testodds.py 皇家马德里 - 曼城 投注赔率,足球 - 欧洲冠军联赛 2015/2016 追溯(最 最近通话最后):文件“./testodds.py”,第 12 行,在 element = driver.find_element_by_xpath("/html/body/div[1]/div/div[2]/div[6]/div[1]/div/div[1]/div[2]/div[1] /div[7]/div[1]/table/tbody/tr[2]/td[1]/div/a[2]") 文件 "/home/hao/.local/lib/python3.6/site-packages/selenium/webdriver/remote/webdriver.py", 第 394 行,在 find_element_by_xpath 中 return self.find_element(by=By.XPATH, value=xpath) 文件“/home/hao/.local/lib/python3.6/site-packages/selenium/webdriver/remote/webdriver.py”, 第 978 行,在 find_element 中 'value': value})['value'] 文件 "/home/hao/.local/lib/python3.6/site-packages/selenium/webdriver/remote/webdriver.py", 第 321 行,在执行中 self.error_handler.check_response(response) 文件“/home/hao/.local/lib/python3.6/site-packages/selenium/webdriver/remote/errorhandler.py”, 第 242 行,在 check_response 中 引发异常类(消息,屏幕,堆栈跟踪) selenium.common.exceptions.NoSuchElementException:消息:无法 定位元素: /html/body/div[1]/div/div[2]/div[6]/div[1]/div/div[1]/div[2]/div[1]/div[7]/div [1]/table/tbody/tr[2]/td[1]/div/a[2]
【问题讨论】:
标签: python selenium-webdriver xpath