0

我正在尝试使用来自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 部分。

知道如何调试和解决这个问题吗?

谢谢

4

1 回答 1

0

好的问题解决了。我认为 xpath 中 CSS 类名的问题。

于 2013-01-11T04:23:47.490 回答