虽然 Selenium
尝试自动化示例Qlikview网络报告,但我遇到了以下错误浏览器: Firefox
FirePath返回的Xpath:
.//*[@id='58']/div[2]/div/div[1]/div[4]/div[1]
例外:
**Exception**: Exception in thread "main"
org.openqa.selenium.InvalidSelectorException: The given
selector//[@id='58']/div[2]/div/div[1]/div[4]/div[1] is either invalid
or does not result in a WebElement. The following error occurred:
InvalidSelectorError: Unable to locate an element with the xpath
expression //[@id='58']/div[2]/div/div[1]/div[4]/div[1] because of the
following error:**SyntaxError: The expression is not a legal expression.**
Command duration or timeout: 78 milliseconds
For documentation on this error, please visit: http://seleniumhq.org
/exceptions/invalid_selector_exception.html
Build info: version: '2.45.0', revision: '32a636c', time: '2015-03-05 22:01:35'
我尝试删除'。'来运行来自xpath,但仍然发生同样的错误。
代码示例:
//导航到第4季度结果
driver.findElement(By.xpath("//[@id='58']/div[2]/div/div[1]/div[4]/div[1]")).click();
}
我正在尝试点击此应用程序上的Q4链接
请帮忙。
答案 0 :(得分:1)
您必须在xpath中指定标记名称。你没有提到任何标签名称。您可以提供可以带任何标记的*
。
//*[@id='58']
以上内容将匹配id = 58
的任何元素您已使用
//[@id='58']
其中标签名称丢失。因此它是一个无效的选择器。您必须提及*
或div
等元素的正确tagName
使用以下行:
driver.findElement(By.xpath("//*[@id='58']/div[2]/div/div[1]/div[4]/div[1]")).click();
而不是:
driver.findElement(By.xpath("//[@id='58']/div[2]/div/div[1]/div[4]/div[1]")).click();