找到带有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中运行时,我得到了相同的结果,它是零。 从控制台添加了屏幕截图
我做错了什么?
以下是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看起来像截图:
答案 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