在尝试使用Xpath //*[@id="someid"]/div/div/div/a
访问dom元素时,我的Selenium服务器会生成以下错误。
WARN - Exception: The given selector Comments button is either invalid or does not result in a WebElement. The following error occurred:
InvalidSelectorError: Unable to locate an element with the xpath expression Comments button because of the following error:
SyntaxError: The expression is not a legal expression.
For documentation on this error, please visit: http://seleniumhq.org/exceptions/invalid_selector_exception.html
当在控制台中使用时,这个XPath适用于Firefox,但在使用Selenium Hq + Facebook Webdriver运行自动化测试时失败,当然除了以上例外。
因为Xpath对我来说似乎没问题。
答案 0 :(得分:0)
这可能是很多东西。
也许webdriver启动并完成查看并且元素尚未加载,或者元素可能不可见,或者元素顶部还有另一个元素不允许您进行交互。
也许你正在使用不同的浏览器来执行测试(而不是firefox)。在IE中,HTML代码可能不同,您可能有更多或更少的HTML元素。
也许您手动访问该网页,自动重定向到其他网页(例如,您在google.fr中记录测试,自动化转到google.com)。
有很多可能性。
答案 1 :(得分:0)
听起来你的Selenium代码可能会误用引号或其他内容,因此文字字符串Comments button
被理解为XPath表达式。
通常该错误消息显示“给定选择器”之后的实际XPath表达式,如Selenium WebDriver throwing error while selecting the xpath中所示。
给定的选择器 //输入[@类型=复选框] /以下同胞:: // TD [含有(文本(),模板] 无效或不会导致WebElement。