#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. Хорошо, я понимаю. И не уверен, что смогу помочь здесь удаленно.