使用XPath通过文本选择单选按钮
在尝试之后,我得到了一些解决方案,但我对答案并不满意,因为我必须根据选项按钮的是或否更改我的使用XPath通过文本选择单选按钮,xpath,Xpath,在尝试之后,我得到了一些解决方案,但我对答案并不满意,因为我必须根据选项按钮的是或否更改我的xpath 是的: //*[contains(text(),'Question 1')]/following::label[contains(text(),'Yes')] 如否: //*[contains(text(),'Question 1')]/./following::li[1]/label[contains(text(),'Yes')] 正如您在上述解决方案中看到的,我必须切换li[]的值 但
xpath
是的:
//*[contains(text(),'Question 1')]/following::label[contains(text(),'Yes')]
如否:
//*[contains(text(),'Question 1')]/./following::li[1]/label[contains(text(),'Yes')]
正如您在上述解决方案中看到的,我必须切换li[]
的值
但是有了上面的解决方案,我可以精确地找到选项。我在尝试后得到了一些解决方案,但对答案真的不满意,因为我必须根据选项按钮的“是”或“否”更改我的
xpath
是的:
//*[contains(text(),'Question 1')]/following::label[contains(text(),'Yes')]
如否:
//*[contains(text(),'Question 1')]/./following::li[1]/label[contains(text(),'Yes')]
正如您在上述解决方案中看到的,我必须切换li[]
的值
但是通过上述解决方案,我能够确定选项。不确定这是否是您所要求的,但是如果您想将XPath表达式的范围限制为
div
之后的2个标签
元素,您可以使用position()
函数:
//*[contains(text(),'Question 1')]/./following::li[2]/label[contains(text(),'Yes')]
//div[contains(text(),'Question 1')]/following::label[position()不确定这是否是您要问的问题,但是如果您想将XPath表达式的范围限制在div
之后的2个label
元素,可以使用position()
函数:
//*[contains(text(),'Question 1')]/./following::li[2]/label[contains(text(),'Yes')]
//div[contains(text(),'Question 1')]/following::label[position(),谢谢Markus,这是解决我问题的更好方法。谢谢Markus,这是解决我问题的更好方法。