【问题标题】:The get() method times-out although the page is displayed correctly尽管页面显示正确,但 get() 方法超时
【发布时间】:2023-03-16 16:05:01
【问题描述】:

我在 Java 中使用 Selenium 2,当使用 Webdriver 的(InternetExplorerDriver 类)get() 方法加载网页时,会收到超时并且执行停止,尽管页面显示为已完全加载。 我尝试使用 WebDriverWait 类,但我不知道要提供什么函数作为 until() 方法的条件。
更新:实现了 Condition 类,但现在可以t 弄清楚 wait.until() 方法应该在 get() 之前还是之后使用...

【问题讨论】:

    标签: java selenium webdriver selenium-webdriver


    【解决方案1】:

    可能您的页面有一些 AJAX,因此 WebDriver 认为它已加载,但尚未加载。您应该使用Page Objects patternAjaxElementLocatorFactory - 它比使用wait 更可靠。此外,这种模式允许创建可维护的测试并具有许多优点

    【讨论】:

    • 非常感谢您的回答!我会研究这些建议。问题是测试的应用程序不是网页,而是在加载页面后通过运行一些 javascript 代码打开的 iframe,并且使用的网页都是不同的且不是专有的,所以我想知道如何将其纳入测试..
    • 在这种情况下,您仍然需要等待对象被加载,而使用 PageFactory 是一个很好的方法。但是,您可能需要在初始化页面对象之前切换到 iframe
    • 非常感谢您的帮助。如果 driver.get() 还没有回来,我仍然不明白如何使用 switch 到 iframe ......也许有一个你描述的 PageFactory 模式的例子,除了你最初链接的那个? (我似乎无法在 Selenium google 组上发布任何消息,因为我是新用户,而且版主的批准似乎永远不会发生 :))
    猜你喜欢
    • 2012-02-15
    • 1970-01-01
    • 1970-01-01
    • 2014-09-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-22
    相关资源
    最近更新 更多