Java 尽管页面显示正确,get()方法仍会超时

Java 尽管页面显示正确,get()方法仍会超时,java,selenium,webdriver,selenium-webdriver,Java,Selenium,Webdriver,Selenium Webdriver,我在Java中使用Selenium 2,当使用Webdriver的(InternetExplorerDriver类)get()方法加载网页时,会收到一个超时,执行会停止,尽管我觉得网页已完全加载。 我尝试过使用WebDriverWait类,但我不知道要为until()方法提供什么函数作为条件。 更新:实现了Condition类,但现在无法确定是在get()之前还是之后使用wait.until()方法。可能您的页面有一些AJAX,因此WebDriver认为它已加载,而它尚未加载。您应该使用and-

我在Java中使用Selenium 2,当使用Webdriver的(InternetExplorerDriver类)get()方法加载网页时,会收到一个超时,执行会停止,尽管我觉得网页已完全加载。
我尝试过使用WebDriverWait类,但我不知道要为until()方法提供什么函数作为条件。

更新:实现了Condition类,但现在无法确定是在get()之前还是之后使用wait.until()方法。

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

非常感谢您的回答!我会研究一下这些建议。问题是,被测试的应用程序不是网页,而是在页面加载后通过运行一些javascript代码打开的iframe,并且使用的网页都是不同的&不是专有的,所以我想知道如何将其加入测试中。在这种情况下,您仍然需要等待加载对象,使用PageFactory是一种很好的方法。但是,在初始化页面对象之前,您可能需要切换到iframe。非常感谢您的帮助。我仍然不明白,如果驱动程序.get()尚未返回,如何使用switch to iframe。。。也许有一个你描述的PageFactory模式的例子,除了你最初链接的那一个?(我似乎无法在Selenium google group上发布任何消息,因为我是一个新用户,版主的批准似乎从未发生:))看看这个-