如何在具有 ssh 访问权限的云服务器上运行 selenium webdriver

How to run selenium webdriver on cloud server with ssh access

提问人:Dang Max 提问时间:11/2/2023 最后编辑:Dang Max 更新时间:11/2/2023 访问量:81

问:

我正在尝试使用无头模式在我的远程服务器上运行 selenium,但我没有获得任何成功

>>> from selenium import webdriver
>>> from selenium.webdriver.chrome.options import Options
>>> options = Options()
>>> options.headless = True
>>> browser = webdriver.Chrome(options=options)

输出:

selenium.common.exceptions.SessionNotCreatedException: Message: session not created: 
Chrome failed to start: exited normally.
  (session not created: 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.)

Stacktrace:
#0 0x55fd03b17fb3 <unknown>
#1 0x55fd037eb4a7 <unknown>
#2 0x55fd0381ec93 <unknown>
#3 0x55fd0381b10c <unknown>
#4 0x55fd0385dac6 <unknown>
#5 0x55fd03854713 <unknown>
#6 0x55fd0382718b <unknown>
#7 0x55fd03827f7e <unknown>
#8 0x55fd03add8d8 <unknown>
#9 0x55fd03ae1800 <unknown>
#10 0x55fd03aebcfc <unknown>
#11 0x55fd03ae2418 <unknown>
#12 0x55fd03aaf42f <unknown>
#13 0x55fd03b064e8 <unknown>
#14 0x55fd03b066b4 <unknown>
#15 0x55fd03b17143 <unknown>
#16 0x7f142b4ffac3 <unknown>

我也尝试从这个答案中使用pyvirtualdisplay,但它也输出了相同的错误

Selenium 版本 - |Chrome 版本 -4.14.0Google Chrome 118.0.5993.117

python google-chrome selenium-webdriver

评论


答:

0赞 Dang Max 11/2/2023 #1

我试图以 root 身份执行脚本,这就是为什么我遇到这些错误的原因,在这个答案之后,建议我使用没有沙盒参数来打开我的浏览器,它也修复了这个错误,我还使用了我需要修复的无头头的折旧属性。这是适用于其他任何正在搜索它的代码

>>> from selenium import webdriver
>>> from selenium.webdriver.chrome.options import Options
>>> options = Options()
>>> options.add_argument("--headless")
>>> options.add_argument("--no-sandbox") # No need if running without su
>>> browser = webdriver.Chrome(options=options)