Тайм-аут загрузки страницы Selenium FirefoxDriver

Некоторые страницы загружаются очень медленно, и поэтому мне нужно указать некоторое время ожидания загрузки страницы, например 60 секунд, после чего процесс загрузки будет прерван.

Как я могу указать время ожидания загрузки страницы в моем Java-приложении для Selenium FirefoxDriver?


person alexanoid    schedule 05.01.2016    source источник


Ответы (1)


Я думаю, что вы можете использовать явные и неявные ожидания, которые поддерживаются 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
person Bryan    schedule 05.01.2016
comment
Спасибо, но, насколько мне известно, это повлияет не только на тайм-аут для метода driver.get, но и на все остальные ожидания, например, driver.findElement. Но мне нужно только изменить тайм-аут для метода driver.get - person alexanoid; 05.01.2016
comment
вы можете попробовать это, пока («Что-то» в driver.page_source) и t ‹ 5: driver.implicitly_wait(time_waiting) t ++ - person Bryan; 05.01.2016