如何解析org.openqa.selenium.InvalidSelectorException的xpath

如何解析org.openqa.selenium.InvalidSelectorException的xpath,selenium,selenium-webdriver,xpath,Selenium,Selenium Webdriver,Xpath,当我们有xpath has//td/text()[following sibling::br and contains(,'text')]时,如何解决抛出的方法org.openqa.selenium.InvalidSelectorException异常 编辑: 我的错,拼错了。 我只需要选择text1来标识对象,但当我使用上述XPath时,selenium就会抛出异常。 如果我使用//td[text='text1'],这将标识完整的td元素。找到text1后,我需要在标签内找到复选框 label

当我们有xpath has
//td/text()[following sibling::br and contains(,'text')]时,如何解决抛出的方法
org.openqa.selenium.InvalidSelectorException
异常

编辑: 我的错,拼错了。 我只需要选择text1来标识对象,但当我使用上述XPath时,selenium就会抛出异常。 如果我使用//td[text='text1'],这将标识完整的td元素。找到text1后,我需要在标签内找到复选框

labelText是唯一的,text1或text2是唯一的

Dom对象如下所示


标签文本
“文本1”

标签文本 “文本2”
您的XPath

//label/text()[following-sbling::br and contains(.,'text')]
                         ^^^^^^
有语法错误。这个XPath

//label/text()[following-sibling::br and contains(.,'text')]

在语法上是正确的。其功能是否符合要求取决于标记和要求,您的问题中没有包含这两个元素。

为该元素粘贴DOM以交叉检查您正在使用的xpath。您的目标是什么?在Chrome中,此xpath工作正常,但selenium正在抛出org.openqa.selenium.InvalidSelectorException,如果您调用
driver.findElement()
然后应该确保XPath选择的是元素,而不是文本节点。获取元素后,如果需要文本,可以调用
.getText()
。在标签内,我需要选中复选框,其值为text1或text2,然后很难识别一个对象。这就是我提供xpath和selenium抛出异常的地方。很抱歉,我们已经进行了一轮更正,您仍然没有明确表示您的目标。继续。祝你好运。在OP提供的前提下,它与涉及
//label/text()
的代码测试一起提供,这应该是公认的答案。