如何使用XPath定位表单内指定文本的按钮并完成点击?
正确定位表单内指定文本按钮的XPath写法
你之前的XPath写法错误在于把表单节点和按钮的文本条件绑定在了一起——表单本身的文本内容不会包含按钮的文本,因为按钮是表单的子元素,两者是层级嵌套关系,不能放在同一个节点的条件里。
下面是几种可行的正确写法,根据实际HTML结构选择:
如果按钮是
<button>标签且文本完全匹配://form[contains(@id, '0')]//button[text()='Excelente contribuição']如果按钮文本可能带有前后空格、换行等空白字符,用
normalize-space处理空白后匹配://form[contains(@id, '0')]//*[normalize-space(text())='Excelente contribuição']这里的
*可以替换成具体的标签名(比如button、a),缩小查找范围。如果是
<input type="button">或<input type="submit">这类按钮,文本存储在value属性中://form[contains(@id, '0')]//input[@value='Excelente contribuição']
说明:
//表示在表单的所有后代元素中查找,若按钮是表单的直接子元素,也可以用/代替//(比如//form[contains(@id, '0')]/button[...])- 优先使用具体的标签名代替
*,能提升定位的准确性和效率
内容的提问来源于stack exchange,提问作者Juan Carlos
相关产品推荐
相关产品推荐

