selenium 循环遍历多个html表以查找特定< td>值

dm7nw8vv  于 2022-11-29  发布在  其他
关注(0)|答案(1)|浏览(203)

我想在一个表中找到一个帐号(它可以在许多多个表中)沿着帐户的状态。我试图使用Xpath来使用find_element,奇怪的是它说它找不到它。你可以在html中看到id存在,但它默认为my,只是说table not found。我的最终结果是找到具有值为9083495r3498q345的表头示例ID的表,并在同一表中为该行的Status字段下给予值。请记住,它可能不是DataTables_Table_6,但可能是DataTables_表格_i
第一个
我本来希望打印结果是“找到表”,但得到的却是“没有找到表”。

kr98yfug

kr98yfug1#

DataTable是动态元素--页面加载后,它们所包含的实际信息由javascript在空表 backbone 上进行水合。因此,您需要等待表完全加载,然后查找它所包含的信息:

from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
[...]
wait = WebDriverWait(driver, 20)
[...]
desired_info = wait.until(EC.element_to_be_clickable((By.XPATH, '//*[@id="DataTables_Table_6"]')))
print(desired_info.text)

请参见Selenium文档here

相关问题