python - 如何单击父元素

标签 python selenium xpath selenium-webdriver

我有以下HTML元素(隐藏单选按钮)

<label class="btn btn-primary">
     <input class="type_radio" name="type" id="optionWIDGET" autocomplete="off" value="WIDGET" type="radio">
     WIDGET
</label>

目标元素是<label>我可以使用

driver.find_element_by_xpath('//label[@class="btn btn-primary"]').click()

但问题是,属性 class="btn btn-primary" 的相似元素很少。 。所以我想让我的xpath通过添加对子 <input> 的引用来更具体元素。

但是,

driver.find_element_by_xpath('//label[@class="btn btn-primary"]/input[@id="optionWIDGET"]').click()

将点击<input> ,但不在 <label> 上元素。

问题是:如果我知道子元素的定位器,如何点击父元素

PS。使用相同的类名搜索 elementS,然后按索引单击列表中的元素是 Not Acceptable

最佳答案

您可以简单地使用parent轴。尝试以下 XPath。

'//input[@id="optionWIDGET"]/parent::label'

关于python - 如何单击父元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35793473/

相关文章:

javascript - 如何使用 selenium 在 Youtube 中向下滚动?

c# - XPath获取youtube视频C#

python - 从返回 NumPy 数组的循环中收集结果

python - 只有 for 循环的最后一次迭代存储在 python 中二维数组的每个索引处

python - 在 Python 2 中比较时间

javascript - 如何使用 selenium web 驱动程序单击导航栏

java - 如何将TestRail与Java+Selenium+Eclipse+TestNG集成?

xml - 按子属性的 XPath 查询

python - scrapy:如何只选择可见的项目

python - 如何在不重启计算机的情况下强制 Python 代码再次读取输入文件