Как установить время ожидания "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)