0

我需要在自动化测试期间评估 DOM 树。

最初打开链接时,Web 应用程序正在加载 100 条记录。在 AJAX 请求加载 400 多个记录之后的 Click() 事件。

 WebDriver obj = new FirefoxDriver();
 obj.get("https://localhost/WebApplication");
 WebElement loadAllLinkEle = obj.findElement(By.cssSelector("a[class=load-all]"));
 loadAllLinkEle.click();
 Document doc = Jsoup.parse(obj.getPageSource(), "UTF-8");
 System.out.println(doc.html());

当我尝试打印文档时,它的打印 OLD html,在调用 Click 事件之前加载的 html。

如何获取更新后的 DOM 树?

4

2 回答 2

0

试试这个:

WebElement element = driver.findElement(By.xpath("//*"));
String code = element.getAttribute("outerHTML");
于 2014-07-28T14:02:12.733 回答
0

以下解决方案有效。

try {
    Thread.sleep(1000);
} catch(InterruptedException ex) {
    Thread.currentThread().interrupt();
}

WebElement myDynamicElement = (new WebDriverWait(obj, 10)).until(ExpectedConditions.presenceOfElementLocated(By.id("container")));;
于 2013-07-13T11:36:38.460 回答