给定的选择器无效或不会产生WebElement

时间:2016-08-03 06:13:55

标签: selenium firefox xpath

JavascriptExecutor jse = (JavascriptExecutor)driver;
WebElement element = driver.findElement(By.xpath(".//*[@id='reviewMetadata']/a']"));    
jse.executeScript("arguments [0],click();",element);
  

错误:线程" main"中的异常   org.openqa.selenium.InvalidSelectorException:给定的选择器   .//[@id='reviewMetadata']/a']无效或无效   一个WebElement。发生以下错误:InvalidSelectorError:   无法使用xpath表达式查找元素   .//[@id='reviewMetadata']/a']因为以下错误:   SyntaxError:表达式不是合法表达式。

2 个答案:

答案 0 :(得分:1)

您在a元素后使用额外引用。你应该使用

".//*[@id='reviewMetadata']/a]"

也用点替换逗号并删除

中的空格
"arguments [0],click();"

以防止以下问题

答案 1 :(得分:0)

JavascriptExecutor jse = (JavascriptExecutor)driver;
WebElement element = driver.findElement(By.xpath("//*[@id='reviewMetadata']/a]"));    
jse.executeScript("arguments [0],click();",element);

尝试替换这些行并运行。我猜您从xpath复制了FirePath。不要忘记删除xpath开头的句号。