无法使用 XPath 找到元素文本
Can't fine element text with XPath
有一个问题困扰了我很久。
我正在学习网页元素定位和 control/read 网页文本。
我想尝试表扬打击和精细元素的成功,但 return 空洞。
driver.find_element(By.XPATH, '//table[1]//tr[2]//td[1]').text
我想读取图片中的蓝线文本,但不知道为什么每次都是空数据
那是因为 table 位于 iframe 内。为了能够处理 table 你必须切换到那个框架:
driver.switch_to.frame('frame')
如果你能找到元素,但代码 returns 你是空字符串,你可以试试
# In case element is hidden
driver.find_element(By.XPATH, '//table[1]//tr[2]//td[1]').get_attribute('textContent')
# In case text generated dynamically:
from selenium.webdriver.support.ui import WebDriverWait as wait
wait(driver, 5).until(lambda driver: driver.find_element(By.XPATH, '//table[1]//tr[2]//td[1]').text)
driver.switchTo().frame("your frame")
Relative xpath:-driver.findelementByxpath("//td[@id='o_B1_2']");
absolute xpath:-driver.findElement(By.xpath("//table//tr[3]//th//td[1]"));;
有一个问题困扰了我很久。 我正在学习网页元素定位和 control/read 网页文本。
我想尝试表扬打击和精细元素的成功,但 return 空洞。
driver.find_element(By.XPATH, '//table[1]//tr[2]//td[1]').text
我想读取图片中的蓝线文本,但不知道为什么每次都是空数据
那是因为 table 位于 iframe 内。为了能够处理 table 你必须切换到那个框架:
driver.switch_to.frame('frame')
如果你能找到元素,但代码 returns 你是空字符串,你可以试试
# In case element is hidden
driver.find_element(By.XPATH, '//table[1]//tr[2]//td[1]').get_attribute('textContent')
# In case text generated dynamically:
from selenium.webdriver.support.ui import WebDriverWait as wait
wait(driver, 5).until(lambda driver: driver.find_element(By.XPATH, '//table[1]//tr[2]//td[1]').text)
driver.switchTo().frame("your frame")
Relative xpath:-driver.findelementByxpath("//td[@id='o_B1_2']");
absolute xpath:-driver.findElement(By.xpath("//table//tr[3]//th//td[1]"));;