我正在尝试使用来自http://www.thoughtworks-studios.com/twist/2.3/help/how_do_i_handle_ajax_in_selenium2.html的以下代码:
String xpathExpr = "//div[@id='contentPane']/div[@class='g-x-Aa ud-Aa']/div[@class='Nj mu']/div[@class='ez vcard']/div[@class='l-Gy Vra']/div[@class='qga']/div[@class='g-Ua-z9']/div[@class='WAa']/div[@class='Yia']/div[@class='twa Vxa']/div[@class='zD us']/div[@class='hx a-f-e']";
//String xpathExpr = "//div[@id='contentPane']/div[@class='g-x-Aa ud-Aa']";
By by = By.xpath(xpathExpr);
WebDriverWait wait = new WebDriverWait(driver, 20);
WebElement elem1 = wait.until(visibilityOfElementLocated(by));
System.out.println(Util.getInnerHtml(driver, elem1));
public static String getInnerHtml(WebDriver driver, WebElement element) {
return (String)((JavascriptExecutor)driver).executeScript("return arguments[0].innerHTML;", element);
}
测试一些ajax页面。奇怪的是它第一次起作用,但之后就再也不起作用了。除了 DOM 元素在 firefox 中加载并且清晰可见之外,程序卡在 innerhtml 部分,有时还有 wait.until 部分。
知道如何调试和解决这个问题吗?
谢谢