我有以下动态网页表
(checkbox) ID_No country_code Date Time UserName FileName
1 5 10/04/2019 12:05:45 [email protected] filename1
2 7 10/04/2019 13:05:45 [email protected] filename2
3 8 10/03/2019 14:05:45 [email protected] filename2
4 9 10/04/2019 14:08:45 [email protected] filename1
在id_no的左侧有一个复选框,我只想检查FileName ='filename1'的行
和Date = '10 / 04/2019'
当我在Chrome控制台中使用此xpath时:
$x("//tr[td[contains(text(),'filename1')]]")[0]'
这包含第一行,其中包含“ filename1”值。我得到此Webtable行的以下HTML
<tr class="class1">
<td width="2%"> </td> <!–– checkbox ––>
<td width="2%"> 1 </td>
<td width="2%"> 5 </td>
<td width="2%"> 10/04/2019 </td>
<td width="2%"> 12:05:45 </td>
<td width="2%" style=word-wrap:break-word> [email protected] </td>
<td width="2%"> filename1 </td>
</tr>
要检查包含“ filename1”的行的复选框,我正在使用以下代码
driver = webdriver.Chrome()
driver.get(website_URL)
driver.find_element_by_xpath("//tr[td[contains(text(),'filename1')]]/input").click()
如何检查其中FileName ='filename1'和Date = '10 / 04/2019'的复选框?
另外,如何取消选中复选框?
最佳答案
您可以采用与选中框相同的方式取消选中这些框-单击input
元素。
您提供的XPath定位器是一个很好的选择。要选择input
下的其他td
元素,只需更改文本即可:
driver.find_element_by_xpath("//tr[td[contains(text(),'10/04/2019')]]/input").click()
要查找两者的输入,可以使用以下命令:
driver.find_element_by_xpath("//tr[td[contains(text(),'filename1')] and td[contains(text(),'10/04/2019')]]/input").click()
希望这个对你有帮助。