Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/393.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Selenium未拾取xpath上找到的元素_Java_Selenium_Xpath - Fatal编程技术网

Java Selenium未拾取xpath上找到的元素

Java Selenium未拾取xpath上找到的元素,java,selenium,xpath,Java,Selenium,Xpath,找到使用xpath或CSS的元素列表(在浏览器控制台中的结果相同) 由于两次打印的结果相同(一页上存在21个“li”容器) 但是,当我在SeleniumWebDriver中运行它时,我得到了相同的结果,结果是零。 从控制台添加屏幕截图 我做错了什么 以下是HTML的一部分: <div class="column medium-12"> <h1>Free Tips</h1> <p>Here you'll always find the lates

找到使用xpath或CSS的元素列表(在浏览器控制台中的结果相同)

由于两次打印的结果相同(一页上存在21个“li”容器) 但是,当我在SeleniumWebDriver中运行它时,我得到了相同的结果,结果是零。 从控制台添加屏幕截图

我做错了什么

以下是HTML的一部分:

<div class="column medium-12">
<h1>Free Tips</h1>
 <p>Here you'll always find the latest tips posted by our international    community of sports betting tipsters. If you're ever in need of inspiration for a bet, this is the place to be! </p>
 <div class="row">
 <ul class="feed-tips" id="Grid" data-sport="" data-country="" data-
  league="">

免费小费
在这里,你总能找到我们国际体育博彩界的最新消息。如果你需要灵感来下注,这是个好地方

下面的HTML如屏幕截图所示:


findElements
如果找不到元素,则不会引发错误,因此在调用此方法时可能找不到元素

在调用
findElements
之前,您可以使用如下
WebDriverWait
来等待
ul
元素可见

WebDriverWait wait = new WebDriverWait(driver, 10);
wait.until(ExpectedConditions.visibilityOfElementLocated(By.id(#Grid)));
这将在抛出超时之前等待最多10秒。之后,调用
findElements
方法。此时,您知道父级
ul
可见

int alltips = driver.findElements(By.xpath("//ul[@id='Grid']/li")).size();

请共享
HTML
。@DebanjanB不幸的是,它不是活动的,所以我将把它发送到这里。它不会引发任何错误-在浏览器中它找到了所有的li元素,当作为testsuite的一部分运行该测试时,它显示零元素。也没有任何错误,页面打开后会等待4秒钟,这就是我说的。它不会抛出错误。因为它不会抛出错误,所以您无法确定您的元素是否确实可供webdriver查找。这就是为什么您应该等待
ul
标记可见,然后再尝试查找
li
子项。没问题,很乐意帮助!
int alltips = driver.findElements(By.xpath("//ul[@id='Grid']/li")).size();