无法从一个单元格的拆分表中获取数据,谢谢!
蟒蛇代码
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)