我有一个很大的 HTML 电子邮件表,我试图找到特定电子邮件的名称,然后在该元素中选择一个按钮。我可以通过 XPATH 轻松找到表体:
//*[@id="reportList"]/tbody
那么在这个表中有多个行(tr),是否可以在所有表行中搜索文本?
我得到的最接近的是:
driver.find_element(By.XPATH, '//*[@id="reportList"]/tbody[contains(text(), "example text")]')
不幸的是,这无法找到该元素。
我知道我可以简单地复制要定位的特定 tr 的 XPATH,但是出于自动化目的,我试图传递一个字符串,然后在所有 tr 中搜索我的特定文本。
原文由 Michael Blair 发布,翻译遵循 CC BY-SA 4.0 许可协议
据我所知,表有
tr
和td
,可能你需要td
。所以 xPath 可能是这样的:其中
...tbody//td...
意味着它将在所有子节点td
中搜索tbody
。所以td
不应该是tbody
PS 我还要添加
wait
方法以确保该元素存在:注意:你必须做一些导入: