Selenium error(DevToolsActivePort 文件不存在)



我正在为网站编写测试,早些时候脚本运行没有问题,但过了一段时间后发生了错误- DevToolsActivePort文件不存在",我试图通过添加- ">options.add_argument("——remote-debugging-port=9222")来修复。",添加后我得到错误">chrome不可达". .尝试了不同的选项,但没有帮助。

from selenium import webdriver
# options
options = webdriver.ChromeOptions()
options.add_argument("--no-sandbox")
options.add_argument("user-agent=Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:84.0) Gecko/20100101 Firefox/84.0")
options.add_argument("--disable-blink-features=AutomationControlled")
options.add_argument("--remote-debugging-port=9222")
options.headless = True
driver = webdriver.Chrome(
    executable_path="/home/adfs_bot/chromedriver",
    options=options
)
driver.get('https://google.com/')

错误:

Traceback (most recent call last):
  File "my_script1.py", line 22, in <module>
    options=options
  File "/home/<usr>/my_script/venvADFSBot/lib64/python3.6/site-packages/selenium/webdriver/chrome/webdriver.py", line 81, in __init__
    desired_capabilities=desired_capabilities)
  File "/home/<usr>/my_script/venvADFSBot/lib64/python3.6/site-packages/selenium/webdriver/remote/webdriver.py", line 157, in __init__
    self.start_session(capabilities, browser_profile)
  File "/home/<usr>/my_script/venvADFSBot/lib64/python3.6/site-packages/selenium/webdriver/remote/webdriver.py", line 252, in start_session
    response = self.execute(Command.NEW_SESSION, parameters)
  File "/home/<usr>/my_script/venvADFSBot/lib64/python3.6/site-packages/selenium/webdriver/remote/webdriver.py", line 321, in execute
    self.error_handler.check_response(response)
  File "/home/<usr>/my_script/venvADFSBot/lib64/python3.6/site-packages/selenium/webdriver/remote/errorhandler.py", line 242, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: unknown error: Chrome failed to start: crashed.
  (unknown error: DevToolsActivePort file doesn't exist)
  (The process started from chrome location /usr/bin/google-chrome is no longer running, so ChromeDriver is assuming that Chrome has crashed.)

Traceback (most recent call last):
  File "my_script1.py", line 22, in <module>
    options=options
  File "/home/<usr>/my_script/venvADFSBot/lib64/python3.6/site-packages/selenium/webdriver/chrome/webdriver.py", line 81, in __init__
    desired_capabilities=desired_capabilities)
  File "/home/<usr>/my_script/venvADFSBot/lib64/python3.6/site-packages/selenium/webdriver/remote/webdriver.py", line 157, in __init__
    self.start_session(capabilities, browser_profile)
  File "/home/<usr>/my_script/venvADFSBot/lib64/python3.6/site-packages/selenium/webdriver/remote/webdriver.py", line 252, in start_session
    response = self.execute(Command.NEW_SESSION, parameters)
  File "/home/<usr>/my_script/venvADFSBot/lib64/python3.6/site-packages/selenium/webdriver/remote/webdriver.py", line 321, in execute
    self.error_handler.check_response(response)
  File "/home/<usr>/my_script/venvADFSBot/lib64/python3.6/site-packages/selenium/webdriver/remote/errorhandler.py", line 242, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: unknown error: Chrome failed to start: crashed.
  (chrome not reachable)
  (The process started from chrome location /usr/bin/google-chrome is no longer running, so ChromeDriver is assuming that Chrome has crashed.)

Google Chrome版本:106.0.5249.119 ChromeDriver版本:106.0.5249.61OS: CentOS 8 (RedHat)

解决方案:

命令:

google chrome,无头

响应将包括对问题的描述,在我的例子中是:

[1107/164427.276365:ERROR:filesystem_posix.cc(63)] mkdir/tmp/crash/new: Permission denied (13)

我用下面的命令解决:

sudo chmod -R 777/tmp/Crashpad/new/

最新更新