谁能让我让selenium等到页面完全加载后?我想要一些通用的东西,我知道我可以配置WebDriverWait并调用“ find”之类的东西让它等待,但我不会走那么远。我只需要测试页面是否成功加载,然后转到下一页进行测试即可。
我在.net中找到了某些内容,但无法在Java中运行。
IWait<IWebDriver> wait = new OpenQA.Selenium.Support.UI.WebDriverWait(driver, TimeSpan.FromSeconds(30.00)); wait.Until(driver1 => ((IJavaScriptExecutor)driver).ExecuteScript("return document.readyState").Equals("complete"));
有任何想法吗?
试试这个代码:
driver.manage().timeouts().pageLoadTimeout(10, TimeUnit.SECONDS);
上面的代码最多等待10秒钟才能加载页面。如果页面加载时间超出限制,它将抛出TimeoutException。您捕获异常并满足您的需求。我不确定抛出异常后是否退出页面加载。我还没有尝试此代码。想要尝试一下。
TimeoutException
这是一个隐式等待。如果设置一次,它将具有作用域,直到Web Driver实例销毁为止。
有关更多信息,请参见文档WebDriver.Timeouts。
WebDriver.Timeouts