有些页面加载速度非常慢,因此我需要指定一些页面加载超时.. 例如 60 秒后加载过程将被中断。
如何在我的 Java 应用程序中为 Selenium FirefoxDriver 指定页面加载超时?
有些页面加载速度非常慢,因此我需要指定一些页面加载超时.. 例如 60 秒后加载过程将被中断。
如何在我的 Java 应用程序中为 Selenium FirefoxDriver 指定页面加载超时?
我认为您可以使用 Selenium 支持的显式和隐式等待,您可以在http://www.seleniumhq.org/docs/04_webdriver_advanced.jsp中看到
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"));
或者您可以在页面中等待您可能想要获取的一些对象,如下所示(我用 Python 编写,但我认为您可以理解想法)
while ('Loading' in driver.page_source) and t < 5:
driver.implicitly_wait(t * time_waiting / 3)
t =+ 1