使用Selenium Webdriver等待window.onload事件

时间:2013-06-15 17:34:27

标签: c# window webdriver wait loaded

我需要一个解决方案,如何等到网页完全加载。在此之后,不再等待,我需要使用网页执行操作:获取已加载页面的URL,检查cookie,单击<a>元素等等

在使用加载页面之前,我使用以下代码:

IWait<IWebDriver> wait=new WebDriverWait(drv, TimeSpan.FromSeconds(30.00));                
wait.Until(d => ((IJavaScriptExecutor)drv).ExecuteScript("return document.readyState").Equals("complete"));

但是,在Chrome中完全加载页面之前,此代码不会等待100%的情况,并且在Internet Explorer中无效!

请您提供更好的解决方案

感谢您提前回答!

1 个答案:

答案 0 :(得分:1)

document.readyState并不总是返回页面加载完成的实际状态。看看你是否可以等待页面上的某个特定元素,也许最后会在页面上加载。