【问题标题】:Selenium's WaitForPageToLoad Waits even after page loaded and timeouts- JavaSelenium WaitForPageToLoad 即使在页面加载和超时后也会等待 - Java
【发布时间】:2013-06-26 11:24:29
【问题描述】:

我正在使用 Selenium.waitforpagetoload 方法在启用 ajax 的网页中等待。当我运行测试代码时,即使页面加载完毕,selenium 也会等待并抛出“等待操作完成超时”异常。而且我可能在甚至没有页面加载事件的地方使用了waitforpagetoload。我假设它只是跳过页面加载的部分。我的代码是这样的

selenium.click("id=elmnt_id");
selenium.waitForPageToLoad("50000");

我正在使用 selenium-java 版本 2.33。 谷歌浏览器 27.0

我发现 selenium.click() 本身会在单击事件后隐式等待页面加载。超时发生在 click 方法内。但是页面在点击事件后不到 10 秒就加载了。 selenium.click 等待超过 30 秒并说超时等待操作完成。非常感谢任何建议。谢谢!

【问题讨论】:

    标签: java selenium selenium-webdriver


    【解决方案1】:

    我不确定 org.openqa.selenium.internal.seleniumemulation.WaitForPageToLoad 有效,但包名称显示“internal.seleniumemulation”。我不确定这意味着什么,但因为我不知道“仿真”在这种情况下是什么意思,所以我会选择使用不同的方法来等待页面加载,例如 JavaScriptExecutor 或使用 FluentWait 方法一个循环,直到元素准备好。

    【讨论】:

    • OP 显然使用 Selenium RC 而不是 Selenium WebDriver。
    • 感谢您的澄清。不过,我关于手动滚动他自己的“等待页面加载”方法的建议仍然有效。通过自己编写,而不是依赖特定的 waitForPageToLoad 方法,他可能会学会更好地理解为什么它在某些方面会失败。
    猜你喜欢
    • 1970-01-01
    • 2016-10-06
    • 2021-09-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-05
    • 2018-03-20
    相关资源
    最近更新 更多