如何修复硒“DevToolsActivePort 文件不存在"Python 中的异常

2022-01-15 00:00:00 python selenium selenium-chromedriver

问题描述

当我同时使用参数 --headlessuser-data-dir 时.Selenium 引发 selenium.common.exceptions.WebDriverException: Message: unknown error: DevToolsActivePort 文件不存在 异常.如果只使用其中一个,那么一切都按需要进行.

When I use both arguments --headless and user-data-dir. Selenium raise selenium.common.exceptions.WebDriverException: Message: unknown error: DevToolsActivePort file doesn't exist exception. If only 1 of them is used, then everything works as needs.

我尝试交换参数并删除其中一些.指定 chromedriver.exe 的完整路径.这些都没有帮助.

I tried to swap arguments and remove some of them. Specified the full path to chromedriver.exe. None of this helped.

chromeOptions.add_argument("--disable-dev-shm-using") 没有帮助.

login = "test"
chromeOptions = webdriver.ChromeOptions() 
chromeOptions.add_experimental_option("prefs", {"profile.managed_default_content_settings.images": 2}) 
chromeOptions.add_argument("--no-sandbox") 
chromeOptions.add_argument("--disable-setuid-sandbox") 
chromeOptions.add_argument("--disable-dev-shm-using") 
chromeOptions.add_argument("--disable-extensions") 
chromeOptions.add_argument("--disable-gpu") 
chromeOptions.add_argument("start-maximized") 
chromeOptions.add_argument("disable-infobars") 
chromeOptions.add_argument("--headless") 
chromeOptions.add_argument(r"user-data-dir=.cookies\" + login) 
b = webdriver.Chrome(chrome_options=chromeOptions) 
b.get("https://google.com/") 
b.quit() 


解决方案

我通过添加参数解决它 --remote-debugging-port=<port>

I solve it by adding an argument --remote-debugging-port=<port>

chromeOptions = webdriver.ChromeOptions() 
chromeOptions.add_experimental_option("prefs", {"profile.managed_default_content_settings.images": 2}) 
chromeOptions.add_argument("--no-sandbox") 
chromeOptions.add_argument("--disable-setuid-sandbox") 

chromeOptions.add_argument("--remote-debugging-port=9222")  # this

chromeOptions.add_argument("--disable-dev-shm-using") 
chromeOptions.add_argument("--disable-extensions") 
chromeOptions.add_argument("--disable-gpu") 
chromeOptions.add_argument("start-maximized") 
chromeOptions.add_argument("disable-infobars")
chromeOptions.add_argument(r"user-data-dir=.cookies\test") 

b = webdriver.Chrome(chrome_options=chromeOptions) 
b.get("https://google.com/") 
b.quit()

相关文章