嗨,我是Selenium的新手,不确定我是否以正确的方式使用它。
我要做的是从网页获取一些数据。由于javascript函数expand_all(),此数据被放入一个空白div中。我有一个“a”链接,它调用页面上的javascript函数,如下所示:
<a href="javascript:void(0)" onclick="expand_all()" class="expand-all" id="btn_expand">Show stuff</a>
我现在要做的是使用Selenium单击该按钮,然后获取添加到div中的数据。这是我到目前为止(基于selenium的“入门”代码):
System.out.println(driver.getPageSource());
driver.findElement(By.className("expand-all")).click();
System.out.println(driver.getPageSource());
(new WebDriverWait(driver, 10)).until(new ExpectedCondition<Boolean>() {
int i;
public Boolean apply(WebDriver d) {
i = d.findElements(By.tagName("table")).size();
System.out.println(i);
return (i == 8);
}
});
当页面中可见表的数量为8时,等待应该中断。(div用表填充),但数字永远不会改变。并且在调用click函数之前和之后页面源完全相同...
所以我的问题是 - 我怎么会出错?硒可以做我想做的事吗?