ajax - Selenium 等待条件

标签 ajax selenium

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

不管我选择什么,它总是返回“false”。我现在不知道如果 waitForCondition 甚至有效吗?

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

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

如果我通过自己的类实现 - 它返回“true”
private boolean isElementPresent(By by) {
    try {
        driver.findElement(by);
        return true;
    } catch (NoSuchElementException e) {
        return false;
    }
}

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

最佳答案

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

你有什么 isElementPresent很好。我会将它与显式等待结合起来,以便更准确地了解元素何时实际加载并出现在屏幕上:

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

关于ajax - Selenium 等待条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13588941/

相关文章:

javascript - 在通过 Javascript 提交表单之前执行 ajax 检查

javascript - 将 json 对象从 ajax 存储到 javascript 2d 数组

java - Selenium Webdriver Java : how to get the visible text in dropdown menu from the value?

javascript - 为什么无法在 GhostDriver/PhantomJSDriver 中禁用 JavaScript?

java - 从 xls 读取数据,使 xls 文件在 selenium 中损坏

javascript - 数据没有通过 jQuery 和 ajax 方法插入数据库

javascript - 在 &ampersand.js 中自定义 ajax 调用

javascript - ajax无法显示哈希符号

java - 无法以编程方式运行 TestNG(无法创建可执行 JAR)

selenium - Appium无法使用UIAutomator中的文本在移动应用程序中定位元素