Selenium WebDriver无需等待页面加载即可转到页面

时间:2012-07-12 15:26:17

标签: selenium webdriver

我正在使用python api将一些Selenium RC测试翻译成Selenium WebDriver。在Selenium WebDriver中,我注意到driver.get( 'http://...' )似乎在继续之前等待整个页面加载。有没有办法不等待页面加载?我要求的一些页面有很多外部资源可能需要很长时间才能加载。我宁愿等待DOM上的元素出现,而不是等待加载所有内容。由于这个原因,我的一些测试似乎在WebDriver中花了两倍的时间。

1 个答案:

答案 0 :(得分:13)

是和否。截至Selenium 2.24.1,the support for this is only in Firefox - you have to run it in a special "mode"

FirefoxProfile fp = new FirefoxProfile();
fp.setPreference("webdriver.load.strategy", "unstable");
WebDriver driver = new FirefoxDriver(fp);

您甚至可以设置the timeout if you want to。这种方法在除Firefox之外的任何浏览器中都会失败,并且在没有不稳定策略的情况下在Firefox中不起作用:

driver.manage().timeouts().pageLoadTimeout(5, TimeUnit.SECONDS);