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



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

蟒蛇代码

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

错误消息:

Unable to locate element: //html/body/div/div[3]/table/tbody/tr[1]/td[4]/p[1]/span

但实际上这些数据存在于表中

您的代码是正确的,但您的代码在页面完全加载之前正在检查元素。 您可以做的最简单的事情是添加一个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)

相关内容

最新更新