首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >selenium firefoxdriver -等待ajax

selenium firefoxdriver -等待ajax
EN

Stack Overflow用户
提问于 2013-05-23 22:20:15
回答 1查看 956关注 0票数 1

在测试ajax页面时,有一个难题是如何等待页面加载完成。

我在web上找到的方法是显式地等待某个元素加载。

在htmlunit中还有另一种方法,那就是将所有异步javascript转换为同步javascript。

代码语言:javascript
复制
 client.setAjaxController(new NicelyResynchronizingAjaxController());

这是更通用的,因为我们不需要确切地知道等待哪个元素。

有没有办法用firefoxdriver实现这一点。

EN

回答 1

Stack Overflow用户

发布于 2013-05-24 01:47:20

这就是在Ajax请求之后等待加载到DOM中的特定元素的方式。

假设您有以下内容:

代码语言:javascript
复制
<div id="postAjaxRequest">This only appears after something request me!</div>

您所要做的就是启动一个WebDriverWebDriverWait元素,如下所示:

代码语言:javascript
复制
WebDriver driver = new FirefoxDriver();
WebDriverWait wait = new WebDriverWait(driver, 10); // Starts a wait of a maximum 10 seconds.

wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("postAjaxRequest")));
driver.findElement(By.id("postAjaxRequest")).click(); // or any other action

这是我能解释的最简单的解释。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16716421

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档