首页 > 解决方案 > 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 字符串,所以如果可以的话,也请给我一些提示。

感谢您的时间、知识和努力。他们非常感谢

标签: pythonseleniumxpathwebdriver

解决方案


要单击具有 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()

推荐阅读