无法使用WebDriver从xpath的一个单元格拆分表中获取数据

时间:2018-08-25 03:02:01

标签: python selenium-webdriver xpath

无法从一个单元格的分割表中获取数据,谢谢!

Python代码

timeout

预期结果

from selenium import webdriver

driver = webdriver.Firefox()
driver.get("url")
print driver.find_element_by_xpath('//html/body/div/div[3]/table/tbody/tr[1]/td[4]/p[1]/span').text
print driver.find_element_by_xpath('//html/body/div/div[3]/table/tbody/tr[1]/td[4]/p[1]/i').text
print driver.find_element_by_xpath('//html/body/div/div[3]/table/tbody/tr[1]/td[4]/p[2]').text

错误消息:

5    1-1/2    14.34

但实际上该数据存在于表中

1 个答案:

答案 0 :(得分:1)

您的代码正确,但是您的代码正在完全加载页面之前检查元素。 您最简单的操作是添加一个wait条件。

在下面的代码中,驱动程序轮询HTML 20秒钟以加载元素。 它不会在检查元素是否存在之前完全等待整个20秒钟,但会等待元素加载20秒钟,之后它将抛出NoSuchElementException

from selenium import webdriver

driver = webdriver.Firefox()
driver.implicitly_wait(20) # seconds

driver.get("url")
print(driver.find_element_by_xpath('//html/body/div/div[3]/table/tbody/tr[1]/td[4]/p[1]/span').text)
print(driver.find_element_by_xpath('//html/body/div/div[3]/table/tbody/tr[1]/td[4]/p[1]/i').text)
print(driver.find_element_by_xpath('//html/body/div/div[3]/table/tbody/tr[1]/td[4]/p[2]').text)