Selenium没有在xpath上找到找到的元素

时间:2017-12-11 09:11:15

标签: java selenium xpath

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

int alltips = driver.findElements(By.xpath("//div[@class='column medium-12']//div/ul/li")).size();
int alltips1 = driver.findElements(By.cssSelector("ul.feed-tips#Grid > li.feed-item")).size();
    System.out.println(alltips);
    System.out.println(alltips1);

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

enter image description here

我做错了什么?

以下是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看起来像截图:

enter image description here

1 个答案:

答案 0 :(得分:1)

如果没有找到元素,

SELECT DATEDIFF(STR_TO_DATE(expiration, '%Y-%m-%d'),CURDATE()) AS days_left FROM table; 不会抛出错误,因此在调用此方法时可能找不到元素。

您可以在使用此类val keyedStream: KeyedStream[event, Key] = env .addSource(...) .keyBy(...) // several transformations on the same stream keyedStream.map(....) keyedStream.window(....) keyedStream.split(....) keyedStream...(....) 致电findElements之前等待ul元素可见

findElements

这会在超时之前等待直到 10秒。之后,请调用WebDriverWait方法。此时您知道父WebDriverWait wait = new WebDriverWait(driver, 10); wait.until(ExpectedConditions.visibilityOfElementLocated(By.id(#Grid))); 可见

findElements