Selenium waitForCondition

boj*_*oje 6 ajax selenium

我是第一次做Selenium测试.在主页上,我调用了一些AJAX,我希望Selenium等待元素加载完成.我不确定它是否有效,但我只是键入selenium并且waitForCondition能够选择.

我不管我选择它总是返回"假".我现在不在,如果waitForCondition甚至工作?

如何测试它是否有效?我在这段代码中做错了什么?

 selenium.waitForCondition("//input[@name='Report'", "3000");
 selenium.waitForCondition("//*[@id='MyTable']", "3000");
 selenium.waitForCondition("css=.someClass2", "3000");
Run Code Online (Sandbox Code Playgroud)

如果我通过自己的类实现 - 它返回"true"

private boolean isElementPresent(By by) {
    try {
        driver.findElement(by);
        return true;
    } catch (NoSuchElementException e) {
        return false;
    }
}
Run Code Online (Sandbox Code Playgroud)

isElementPresent(By.xpath("//*[@ id ='MyTable']")) - 返回"true"

Arr*_*ran 3

waitForCondition仅适用于 Javascript 调用,不适用于等待元素加载。

你里面的东西都isElementPresent很好。我将其与显式等待结合起来,以便更准确地了解元素何时实际加载并显示在屏幕上:

http://seleniumhq.org/docs/04_webdriver_advanced.html