Проблемы Chrome с Python Selenium в Windows 10

#python #windows #selenium #google-chrome

Вопрос:

Приношу извинения, если на этот вопрос был дан ответ в другом месте (я уверен, что так оно и будет), но последние несколько дней я провел в поисках повсюду, пробуя все решения, с которыми столкнулся.

Я пытался автоматизировать некоторое заполнение форм в Chrome с помощью Selenium и Python.
Мое решение отлично работает на персональном устройстве, но на компьютере моей компании у меня возникли некоторые проблемы.

Запустив свой тестовый код, я изначально выдал ошибку «Файл DevToolsActivePort не существует», но мне удалось ее обойти.
Теперь скрипт открывает окно Chrome, но затем выдает ошибку:

селен.общие.исключения.WebDriverException: Сообщение: неизвестно ошибка: Chrome не удалось запустить: сбой. (chrome недоступен) (Процесс запущен из расположения chrome C:Program FilesGoogleChromeApplicationchrome.exe больше не работает, поэтому ChromeDriver предполагает, что Chrome вышел из строя.)

Это в то время как окно Chrome открывается и остается открытым. К сожалению, поскольку это рабочая машина, я не могу переустановить Windows или Python в это время.

Я проверил версии, и все, похоже, выстроилось в ряд.

Python: 3.7.0

Селен: 3,141,0

Chrome: 91.0.4472 1.14

ChromeDriver: 91.0.4472.101 (также пробовал другие версии)

Используемый Код:

 from selenium import webdriver

options = webdriver.ChromeOptions()
options.add_argument("--no-sandbox") 
options.add_argument("--disable-setuid-sandbox") 
options.add_argument("--remote-debugging-port=9222")
options.binary_location = "C:Program FilesGoogleChromeApplicationchrome.exe"
options.add_argument("--disable-dev-shm-using") 
options.add_argument("--disable-extensions") 
options.add_experimental_option("useAutomationExtension", True) #also tried False
options.add_argument("--disable-gpu") 
options.add_argument("start-maximized") 
options.add_argument("disable-infobars")
options.add_argument("user-data-dir=C:\Users\UP1170\AppData\Local\Google\Chrome\User Data")
options.add_experimental_option("detach",True)
driver = webdriver.Chrome(chrome_options=options,executable_path="C:\Users\UP1170\Desktop\chromedriver.exe")
driver.get("https://www.google.com")
 

Это не полный код, который я разработал для автоматизации, а тестовый сценарий, позволяющий просто попытаться открыть Chrome на ноутбуке компании с Windows 10.

У кого — нибудь есть какие-нибудь идеи?

У меня такое чувство, что это будет связано с ограничением компании, наложенным на мое устройство, поскольку аналогичная проблема возникает, когда я пытался сделать это как с Firefox, так и с Edge.

Комментарии:

1. Являются ли настройки: options.add_argument("user-data-dir=C:\Users\UP1170\AppData\Local\Google\Chrome\User Data") и driver = webdriver.Chrome(chrome_options=options,executable_path="C:\Users\UP1170\Desktop\chromedriver.exe") соответствуют вашему персональному компьютеру или были скорректированы для исправления вашего корпоративного ноутбука?

2. Спасибо за ответ. Подогнан под фирменный ноутбук. Весь код — это повтор, чтобы устранить проблему. Мой оригинал просто вызывает webdriver и использует .get()

3. Если это так, я не понимаю, зачем вы добавили все эти настройки…

4. Без этих настроек я, кажется, получаю ошибку «Файл DevToolsActivePort не существует» вместо этого.

5. Хорошо, я понимаю. И не уверен, что смогу помочь здесь удаленно.