Как установить время ожидания "driver.get" для python selenium 3.8.0?

В тестах на селен вы открываете веб-страницу, используя

from selenium import webdriver
driver = webdriver.Firefox()
driver.get("whateverpage.org.com")

Как я могу установить время ожидания этой команды для Селена версии 3.8.0 и Python 2.7.12?

1 ответ

Решение

Чтобы установить time out за Page Loading Вы можете вызвать set_page_load_timeout(seconds),


set_page_load_timeout


Детали метода

def set_page_load_timeout(self, time_to_wait):
    """
    Set the amount of time to wait for a page load to complete
    before throwing an error.

Args

time_to_wait: The amount of time to wait

использование

driver.set_page_load_timeout(3)

пример

from selenium import webdriver
driver = webdriver.Chrome(executable_path=r'C:\Utility\BrowserDrivers\chromedriver.exe')
driver.set_page_load_timeout(2)
try :
    driver.get("https://www.booking.com/hotel/in/the-taj-mahal-palace-tower.html?label=gen173nr-1FCAEoggJCAlhYSDNiBW5vcmVmaGyIAQGYATG4AQbIAQzYAQHoAQH4AQKSAgF5qAID;sid=338ad58d8e83c71e6aa78c67a2996616;dest_id=-2092174;dest_type=city;dist=0;group_adults=2;hip_dst=1;hpos=1;room1=A%2CA;sb_price_type=total;srfid=ccd41231d2f37b82d695970f081412152a59586aX1;srpvid=c71751e539ea01ce;type=total;ucfs=1&#hotelTmpl")
    print("URL successfully Accessed")
    driver.quit()
except TimeoutException as e:
    print("Page load Timeout Occured. Quiting !!!")
    driver.quit()

Консольный выход

Page load Timeout Occured. Quiting !!!

Документация

Вы можете найти подробное обсуждение pageLoadTimeout Вот pageLoadTimeout in Selenium not working


Глубокое погружение

Согласно питону 3.x если мы не обработаем исключение, будут получены следующие сообщения журнала:

    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.TimeoutException: Message: timeout
  (Session info: chrome=62.0.3202.94)
  (Driver info: chromedriver=2.33.506120 (e3e53437346286c0bc2d2dc9aa4915ba81d9023f),platform=Windows NT 6.2.9200 x86_64)
Другие вопросы по тегам