Ustaw prawdziwy limit czasu na załadowanie strony w Selenium WebDriver?

Testuję witrynę z wieloma serwerami proxy, a problem polega na tym, że niektóre z tych serwerów proxy są strasznie wolne. Dlatego mój kod utknął na ładowaniu stron co jakiś czas.

from selenium import webdriver

browser = webdriver.Firefox()
browser.get("http://example.com/example-page.php")
element = browser.find_element_by_id("someElement")

Próbowałem wielu rzeczyexplicit waits lubimplicit waits i przeszukiwałem już dość długo, ale wciąż nie znaleźliśmy rozwiązania lub obejścia. Nic tak naprawdę nie wpływa na linię ładowania stronybrowser.get("http://example.com/example-page.php")i dlatego zawsze tam tkwi.

Czy ktoś ma na to rozwiązanie?

Aktualizacja 1:

Odpowiedź JimEvansa rozwiązała mój poprzedni problem itutaj możesz znaleźć poprawkę Pythona dla tej nowej funkcji.

Nowy problem:

browser = webdriver.Firefox()
browser.set_page_load_timeout(30)

browser.get("http://example.com/example-page.php")

element = browser.find_element_by_id("elementA")
element.click() ## assume it's a link to a new page http://example.com/another-example.php

another_element = browser.find_element_by_id("another_element")

Jak widziszbrowser.set_page_load_timeout(30) dotyczy tylkobrowser.get("http://example.com/example-page.php") co oznacza, że ​​jeśli ta strona ładuje się przez ponad 30 sekund, wyrzuci wyjątek przekroczenia limitu czasu, ale problem polega na tym, że nie ma on władzy nad ładowaniem strony, takiej jakelement.click(), chociaż nie blokuje, dopóki nowa strona nie zostanie całkowicie załadowana,another_element = browser.find_element_by_id("another_element") to nowy ból w dupie, ponieważ alboexplicit waits lubimplicit waits poczeka na załadowanie całej strony, zanim zacznie szukać tego elementu. W niektórych skrajnych przypadkach zajmie to nawetGODZINY. Co mogę z tym zrobić?

questionAnswers(2)

yourAnswerToTheQuestion