Java Selenium xpath语法不正确
我试图用Selenium在Java中创建ajax等待方法,以获取配置定义的尽可能多的结果 以下是我的方法:Java Selenium xpath语法不正确,java,selenium,xpath,selenium-webdriver,Java,Selenium,Xpath,Selenium Webdriver,我试图用Selenium在Java中创建ajax等待方法,以获取配置定义的尽可能多的结果 以下是我的方法: /** * Wait for WAIT seconds for AJAX data to be loaded. * @throws Exception - if thread is interrupted */ public List<WebElement> waitAjaxLoad(By by) throws Exception{
/**
* Wait for WAIT seconds for AJAX data to be loaded.
* @throws Exception - if thread is interrupted
*/
public List<WebElement> waitAjaxLoad(By by) throws Exception{
int ajaxResultsWait = Integer.parseInt(P.getProperty("ajax.results.wait"));
List<WebElement> resultsLoaded = null;
do{
resultsLoaded = driver.findElements(by);
}while(resultsLoaded.size() < ajaxResultsWait);
return resultsLoaded;
}
/**
*等待等待秒以加载AJAX数据。
*@引发异常-如果线程被中断
*/
公共列表waitAjaxLoad(按)引发异常{
int ajaxResultsWait=Integer.parseInt(P.getProperty(“ajax.results.wait”);
List resultsLoaded=null;
做{
resultsLoaded=driver.findElements(按);
}while(resultsloadded.size()
这是我的电话:
List<WebElement> videoElements = waitAjaxLoad(By.xpath("//div[@id='pageTv']/div[@id='pageTvScroller')]/div[@class='boxInner']/ul/li"));
List videoElements=waitAjaxLoad(By.xpath(“//div[@id='pageTv']]/div[@id='pageTvScroller')]/div[@class='boxInner']/ul/li”);
我得到一个例外:
org.openqa.selenium.InvalidSelectorException:给定的选择器
//div[@id='pageTv']/div[@id='pageTvScroller')]/div[@class='boxInner']/ul/li
无效或未生成WebElement。以下
出现错误:InvalidSelectorError:无法找到包含的元素
xpath表达式
//div[@id='pageTv']/div[@id='pageTvScroller')]/div[@class='boxInner']/ul/li
由于以下错误:[异常…”表达式不是
合法表达式。“代码:“12”nsresult:“0x805b0033(语法错误)”
位置:“]命令持续时间或超时:20毫秒
我是否应该担心XPath表达式不正确,或者Selenium找不到该WebElement?此异常对我来说是不明确的。这是一个简单的键入错误,在
div[@id='pageTvScroller')]
中添加了一个不需要的圆括号,因此请替换
//div[@id='pageTv']/div[@id='pageTvScroller')]/div[@class='boxInner']/ul/li
与
说实话……我看了它5次以上,但还是没有引起我的注意……;)非常感谢。
//div[@id='pageTv']/div[@id='pageTvScroller']/div[@class='boxInner']/ul/li