如何单击父元素

2024-10-01 09:35:15 发布

您现在位置:Python中文网/ 问答频道 /正文

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

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

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

^{pr2}$

但问题是,具有class="btn btn-primary"属性的类似元素很少。所以我想通过添加对子元素xpath的引用,使我的xpath更加具体。在

但是

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

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

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

按相同的类名搜索元素,然后按索引从列表中单击元素是不可接受的


Tags: nameid元素inputhtmltypewidget按钮
2条回答

您可以简单地使用^{}轴。尝试下面的XPath。在

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

您可以使用以下XPath单击input的父项label

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

因此您可以使用:

^{pr2}$

请注意,由于id属性在网页上是唯一的,因此您可以选择所需的input元素,而无需在XPath开头使用label[@class="btn btn-primary"]。在

相关问题 更多 >