selenium跟随元素python

selenium跟随元素python,python,html,selenium,checkbox,html-table,Python,Html,Selenium,Checkbox,Html Table,我将selenium与python结合使用。 我有一些元素是复选框,我想点击它。 我的问题是获取该元素,我只有文本 在我的例子中,xxxxx我想得到它上面的元素(前面的元素,他不是父亲,他们只是相邻的) 我试过这个: 驱动程序。通过xpath(//input[@type='checkbox']/following::td[text()='xxxxx'])查找元素。单击() 但它不起作用 您可以使用以下xpath从td导航 driver.find_element_by_xpath("//td[te

我将selenium与python结合使用。 我有一些元素是复选框,我想点击它。 我的问题是获取该元素,我只有文本 在我的例子中,
xxxxx
我想得到它上面的元素(前面的元素,他不是父亲,他们只是相邻的) 我试过这个:

驱动程序。通过xpath(//input[@type='checkbox']/following::td[text()='xxxxx'])查找元素。单击()

但它不起作用


您可以使用以下xpath从td导航

driver.find_element_by_xpath("//td[text()='xxxxx']/preceding-sibling::td[1]/input[@type='checkbox']").click()
或者,您可以尝试使用父标记并导航第n个td,该td具有如下输入标记

driver.find_element_by_xpath("//td[text()='xxxxx']/parent::tr/td[1]/input[@type='checkbox']").click()

查看图片中的元素时,右键单击所需的元素,将鼠标悬停在copy上,然后单击xpath。这是一个我希望在开始使用seleniumI时知道的提示,谢谢:)它返回该行的第一列,而不是html示例中的前一列(它上面的一列),我看到输入标记出现在第一个td列中是的,在这种情况下是真的。但是我在不同的元素上尝试了它,它总是返回我用父导航更新的第一列,也更新了前面的sibling,这将立即给出siblingdo你尝试过这个“//td[text()='xxxxx']/前面的sibling::td[1]/input[@type='checkbox']”?我百分之百肯定这会让人觉得很无聊。请在开发人员控制台$x(“//td[text()='xxxxx']/前面的同级::td[1]/input[@type='checkbox'])中进行检查