Я пытаюсь остановить браузер, когда загрузка занимает слишком много времени.Для этого я использую метод window.stop();
через селен execute_script()
Chrome Fails
from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
capa = DesiredCapabilities.CHROME
capa["pageLoadStrategy"] = "none"
driver = webdriver.Chrome(desired_capabilities=capa)
driver.get('http://deelay.me/15000/http://httpbin.org/ip') #loads a page after 15 seconds
driver.execute_script("window.stop();")
Хотя мы получаем быстрый контроль над объектом браузера, т.е. driver
из-заpageLoadStrategy
-> Нет;мы не можем использовать это много.т.е. скрипт выполняется только после полной загрузки страницы, блокируя 15 секунд.
Нет ошибок или исключений, он просто зависает без возврата элемента управления.
Chromium 73.0.3683.75 Построен на Ubuntu,работает на Ubuntu 18.04
ChromeDriver 2.43.600233 (523efee95e3d68b8719b3a1c83051aa63aa6b10d)
Python selenium 3.14.1
По сравнению с этим браузером Firefoxвыполняет скрипт и останавливает загрузку страницы.
Firefox Passes
from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
capa = DesiredCapabilities.FIREFOX
capa["pageLoadStrategy"] = "none"
driver = webdriver.Firefox(desired_capabilities=capa)
driver.get('http://deelay.me/15000/http://httpbin.org/ip') #loads a page after 15 seconds
driver.execute_script("window.stop();")
Здесь мы можем не только остановить выполнение, но и вызвать новый URL, который не являетсявозможно в хром.
Firefox 66.0.1
Geckodriver 0.23.0 (2018-10-04)
Python selenium 3.14.1
Это предполагаемое поведение или ошибка.Что-то не так с моей стороны?