python - python selenium 搜索 web 表中的确切文本
问题描述
尝试使用 Selenium 和 Python 在 Web 表中查找确切文本时,我正在努力寻找语法。
表 xpath 是:
driver.find_element_by_xpath('//*[@id="someId"]/table[2]')
有 4 列和未知的行数。我只对第一栏感兴趣。3行的示例xpath:
//*[@id="sameValue"]/table[2]/tbody/tr[3]/td[1]/input
//*[@id="sameValue"]/table[2]/tbody/tr[4]/td[1]/input
//*[@id="sameValue"]/table[2]/tbody/tr[5]/td[1]/input
基本上,我在第一列中有单选按钮,我想单击第一列中具有MY VALUE的行。不知道是第4排还是第26排。我知道这是第一列。一些额外的细节:
<td class="class value" width="70">
<input type="radio" name="FileName" value="some Value">
</td>
<td class="class value" width="70">
<input type="radio" name="FileName" value="some Value">
</td>
<td class="class value" width="70">
<input type="radio" name="FileName" value="some Value">
</td>
<td class="class value" width="70">
<input type="radio" name="FileName" value="MY VALUE">
</td>
我正在寻找的另一件事是变量。我猜语法将是一些 F 字符串,所以如果可以的话,也请给我一些提示。
感谢您的时间、知识和努力。他们非常感谢
解决方案
要单击具有 value 属性的 input 元素,请 value="MY VALUE"
使用以下任一方法xpath
。
//*[@id='sameValue']/table[2]/tbody//tr//td[1]/input[@value='MY VALUE']
或者
//input[@value='MY VALUE']
在 python 中,您可以使用 pythonformat()
函数。
strvar="MY VALUE"
driver.find_element_by_xpath("//*[@id='sameValue']/table[2]/tbody//tr//td[1]/input[@value='{}']".format(strvar)).click()
推荐阅读
- javascript - 点击脚本上的 JQuery 触发更改检测 - Angular 6
- spring-integration - MarshallingWebServiceOutboundGateway 第一次请求占用太多
- amazon-web-services - 从java连接到AWS RDS而不暴露密码
- html - Bootstrap 4 模态不会出现在数据目标中
- python-3.x - 求解和绘制非线性一阶 ODE
- javascript - 无法读取 Reactnative 中 null 错误的属性“绑定”
- php - 匹配整个单词的PHP子字符串
- php - 如何在事务中使用 msqli multi_query 功能
- jquery - 格式化日期的jQuery语法
- java - 理解 Hybris 中的 Impex 语法语句