python - 选择另一个项目然后搜索 Selenium (Python)
问题描述
所以基本上我需要帮助的是:
我想用 selenium-3.141.0 和 Python 3.8.5 搜索 BBXXCODE。我正在使用driver.find_element_by_xpath("//*[contains(text(),'BBXXCODE')]"
哪个按预期工作。但我需要以某种方式提取顶部标签的 id <tr>
,因为我想用来driver.find_element_by_xpath('//*[@id="tr9"]/td[2]/h1').click()
点击I need to select this
文本。
有没有办法做到这一点,还是我应该继续通过I need to select this
文本而不是代码进行搜索?
这是代码片段:
<tr id='tr9'>
<td></td>
<td role='gridcell'>
<span class='link'>I need to select this</span>
</td>
<td role='gridcell'>
BBXXCODE
</td>
</tr>
我希望它很清楚,如果没有,请随时告诉我,我会尝试添加更多细节。提前致谢
解决方案
要提取<tr>
与文本BBXXCODE相关的标签 id,您可以使用以下任一Locator Strategies:
使用xpath和
parent
:tr_id = driver.find_element_by_xpath("//td[contains(., 'BBXXCODE')]//parent::tr[1]").get_attribute("id")
使用xpath和
ancestor
:tr_id = driver.find_element_by_xpath("//td[contains(., 'BBXXCODE')]//ancestor::tr[1]").get_attribute("id")
推荐阅读
- javascript - 定义元素后如何运行 JavaScript 代码?
- c# - 代码后面的规范流有语法错误或重复代码
- jasmine - Protractor ExcelJS.Click() 返回 ScriptTimeoutError 并且测试失败
- android - 安卓设备的方形图片是什么?
- javascript - ngIf 不适用于 Angular 组件内的 JavaScript 方法
- c - 如何在不使用 EOF 的情况下读取输入文件的下一行直到文件结束
- php - 如何在 laravel 中为开发和生产使用不同的 cors 配置
- r - 如何在没有全局变量或超赋值的情况下使用 tryCatch
- php - 从数据库中选择并在 html 页面上回显
- node.js - 来自另一个环境变量的节点 Heroku 环境变量