Проблемы с chromedriver на Selenium с python: страница не загружается - PullRequest
0 голосов
/ 06 августа 2020

Изначально я хотел запустить автономный браузер для динамического анализа веб-страницы. У меня был ряд проблем с этим, даже после добавления ожидания загрузки сайта. Комментируя вариант без головы, я использовал сервер xming в качестве дисплея для веб-страницы, чтобы увидеть, как она на самом деле выглядит после создания браузера. Вот скриншот того, что я вижу: новая вкладка в chrome, и браузер, похоже, никогда не добирается до .get (). Я также получаю всплывающее окно с сообщением «Chrome Расширение автоматизации разбилось ... " Я много искал, некоторые предлагают не запускать как admin / root, поэтому я не использовал sudo перед его запуском. Это не изменило сообщение.

Ниже мой код и вывод терминала:

options = webdriver.ChromeOptions()
# options.add_argument('--headless')
options.add_argument('--no-sandbox')
options.add_argument('--disable-dev-shm-usage')
options.add_argument('--ignore-certificate-errors')
options.add_argument('--lang=en_US')
options.add_argument('--user-data-dir')
options.add_argument("--disable-gpu")
# options.add_argument("--remote-debugging-port=9222")

browser = webdriver.Chrome(executable_path='/usr/bin/chromedriver', options=options)
browser.get("http://www.google.com")

Терминал Ubuntu:

Traceback (последний вызов последний): Файл "practice3.py", строка 40, в браузер = webdriver. Chrome (исполняемый_путь = '/ usr / bin / chromedriver', options = options) Файл "etc / anaconda3 / lib / python3 .8 / site-packages / selenium / webdriver / chrome / webdriver.py", строка 76, в init RemoteWebDriver. инициализация ( Файл "etc / anaconda3 / lib / python3 .8 / site-packages / selenium / webdriver / remote / webdriver.py", строка 157, в init self.start_session (возможности, browser_profile) Файл "etc / anaconda3 / lib / python3 .8 / site-packages / selenium / webdriver / remote / webdriver.py", строка 252, в start_session response = self.execute (Command.NEW_SESSION, параметры) Файл "etc / anaconda3 / lib / python3 .8 / site-packages / selenium / webdriver / remote / webdriver.py", строка 321, выполняется self.error_handler.check_response (ответ) Файл "etc / anaconda3 / lib / python3 .8 / site-packages / selenium / webdriver / remote / errorhandler.py", строка 242, в check_response поднять класс_исключения (сообщение, экран, трассировка стека) selenium.common.exceptions.WebDriverException: сообщение: неизвестная ошибка: файл DevToolsActivePort не существует (Информация о драйвере: chromedriver = 2.41.578700 (2f1ed5f9343c13f73144538f15c00b370eda6706), platform = Linux 4.4.0-18362-Microsoft x86_64)

Также: Ubuntu 20.04 LTS Selenium версии 3.141.0 Chrome версия 84.0.4147.105

~$ /usr/bin/chromedriver
Starting ChromeDriver 2.41.578700 (2f1ed5f9343c13f73144538f15c00b370eda6706) on port 9515
Only local connections are allowed.

1 Ответ

1 голос
/ 06 августа 2020

Я видел много chrome сбоев, когда было несоответствие версий между chromedriver и chrome. Поскольку вы используете Chrome версию 84.0.4147.105, вы не должны использовать ничего, кроме ChromeDriver 84.0.4147.30 Во-вторых, запускаете ли вы скрипт из IDE? если положительный, это еще одна распространенная причина root. Наконец, я бы прекратил использовать XMimg, поскольку он добавляет еще одну переменную в уравнение. Вместо этого устраняйте неполадки, делая скриншоты непосредственно из кода селена, независимо от того, у вас нет головы или нет.

...