有些页面加载速度很慢,因此我需要指定一些页面加载超时..例如60秒后加载过程将被中断。
如何在我的Java应用程序中为Selenium FirefoxDriver指定页面加载超时?
答案 0 :(得分:0)
我认为您可以使用Selenium支持的显式和隐式等待,您可以在http://www.seleniumhq.org/docs/04_webdriver_advanced.jsp
中看到<xp:scriptBlock id="scriptBlock5" loaded="false">
<xp:this.value><![CDATA[dojo.require("dojo.behavior");
Behavior = {
".dataview": {
found: function(node) {
dojo.addClass(node,".table-striped table-hover table-bordered table-condensed");
//node.addClass("table-striped table-hover table-bordered table-condensed");
}
}
}
dojo.ready(function() {
dojo.behavior.add(Behavior);
dojo.behavior.apply();
});
//Make sure that future pagers are also straightened out
dojo.subscribe("partialrefresh-complete", null, function(method, form, refreshId) {
dojo.behavior.apply();
});]]></xp:this.value>
</xp:scriptBlock>
或者你可以在页面中等待一些你可能想得到的对象(我用Python编写,但我认为你可以理解它)
WebDriver driver = new FirefoxDriver();
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
driver.get("http://somedomain/url_that_delays_loading");
WebElement myDynamicElement = driver.findElement(By.id("myDynamicElement"));