Как я могу остановить загрузку html через определенные секунды? - PullRequest
0 голосов
/ 28 января 2020

Я получил кучу HTML для проверки, и каждый раз, когда я пытаюсь загрузить его с помощью driver.get ("HTML"), для завершения sh загрузки требуется слишком много времени. Я имею в виду, он уже показывает, что мне нужно в течение 2 секунд, а затем он продолжает загружать вещи в течение 10 секунд, я думаю.

Я думаю, что я достаточно искал. Вот что я пробовал.

  1. set_page_load_timeout Я использовал

    driver.set_page_load_timeout (2)

    try: driver.get ("HTML ") кроме TimeoutException: pass

Но я обнаружил, что после получения TimeOutException он не активирует его, поэтому драйвер не может загрузить вторую HTML и go прямо в TimeoutException

pageLoadStrategy:

На самом деле это будет работать. Но, к сожалению, я использую два драйвера. Первый драйвер предназначен для сбора HTML, а второй - для загрузки этих загруженных HTML-файлов.

caps = DesiredCapabilities().CHROME
caps["pageLoadStrategy"] = "none"
normal = DesiredCapabilities().CHROME
normal["pageLoadStrategy"] = "normal"

driver2 = webdriver.Chrome("chromedriver78.exe", chrome_options=options2, desired_capabilities=caps)
driver = webdriver.Chrome("chromedriver78.exe", chrome_options=options, desired_capabilities = normal)

Проблема, которую я обнаружил, заключается в том, что применяется только одна «требуемая_функция», которая была установлена ​​последней. Это означает, что driver и driver2 разделяют последний параметр требуемый_capabilities ... Так что, если я установлю драйвер позже, нет никакой разницы для driver2, и он просто загрузит HTML в течение примерно 10 секунд. если я установлю driver2 позже, вся процедура для драйвера будет разрушена, потому что он продолжает активировать вещи до полной загрузки страницы.

Итак ... Это был бы лучший способ для моего случая? Надеюсь, мне помогут.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...