Примечание: это моя первая попытка написания Python
. Вам просто нужно собрать способ повторить операцию GET, если она не удалась.Вы по-прежнему хотите отказаться от определенного количества повторных попыток, но по крайней мере это должно отразить одноразовые сбои для URL.
def retryable_get(self, url, max_tries = 5)
attempts = 0
while attempts < max_tries
try:
self.get(url)
except Exception:
puts 'An error occured performing a GET to ' + url
finally:
attempts += 1
raise TimeoutException(f'Failed to GET {url} after {max_tries} attempts')
Вы можете вызвать его, используя:
retryable_get(driver, url)
Или введите тип Firefox, если вам нужен более объектно-ориентированный подход:
webdriver.Firefox.retryable_get = retryable_get
for url in urls:
try:
driver.retryable_get(url)
sleep(0.8)
print(driver.title)
except TimeoutException as e:
print("Timeout")