我正在使用 python api 将一些 Selenium RC 测试转换为 Selenium WebDriver。在 Selenium WebDriver 中,我注意到driver.get( 'http://...' )
在继续之前似乎要等待整个页面加载。有没有办法不等待页面加载?我请求的一些页面有很多外部资源,可能需要很长时间才能加载。我宁愿等待 DOM 上的元素出现,也不愿等待所有内容加载。由于这个原因,我的一些测试在 WebDriver 中似乎花费了两倍的时间。
问问题
11706 次
1 回答
13
是和不是。从 Selenium 2.24.1 开始,仅在 Firefox 中对此提供支持 - 您必须以特殊的“模式”运行它:
FirefoxProfile fp = new FirefoxProfile();
fp.setPreference("webdriver.load.strategy", "unstable");
WebDriver driver = new FirefoxDriver(fp);
如果您愿意,您甚至可以设置超时。此方法在 Firefox 以外的任何浏览器中都失败,并且在没有不稳定策略的情况下在 Firefox 中什么也不做:
driver.manage().timeouts().pageLoadTimeout(5, TimeUnit.SECONDS);
于 2012-07-12T15:37:41.197 回答