
本地使用就可以解决,但是服务器上不行
服务器的谷歌版本是 119.0.6045.123 ,chromedriver 的版本是 119.0.6045.105 ,我本地在 Windows 上都是可以正常运行的,但是 Linux 上就会报下面的异常
org.openqa.selnium.SessionNotCreatedException: Could not start a new session. Response code 500. Message: session not created: Chrome failed to start: exited normally. (session not created: DevToolsActivePort file doesn't exist) (The process started from chrome location /opt/google/chrome/chrome is no longer running, so ChromeDriver is assuming that Chrome has crashed.) Build info: version: '4.1.4', revision: '535d840ee2' System info: host: 'VM-0-17-ubuntu', ip: '127.0.1.1', os.name: 'Linux', os.arch: 'amd64', os.version: '4.15.0-206-generic', java.version: '1.8.0_362' Driver info: org.openqa.selenium.chrome.ChromeDriver 我去搜索引擎查了下这个异常,基本都是说谷歌浏览器的版本和 chromedriver 版本对不上的问题,但是我这个版本已经是最能对得上的了,完全切合的 chromedriver 版本我真找不到
这个问题卡了我挺久了,我不知道咋整所以来问问,看看有没有大佬能救下
1 yzding 2023 年 11 月 12 日 via iPhone 使用 headless 参数 |
2 sanjay128 2023 年 11 月 12 日 版本对不上的问题。等两天,等 choromedriver 更新到 119.0.6045.123 。或者下载旧版本的 chrome 和 chromedriver 。 两者必须版本一致才行。 |
3 mekingname 2023 年 11 月 12 日 这是因为你的服务器没有桌面,Chrome 起不来导致的问题。你可以在服务器上面安装 Xvfb ,它可以创建一个假桌面,让 Selenium 可以用有头模式来运行。然后使用 Xvfb 来启动代码就可以了。 你可以看我的这篇文章: https://mp.weixin.qq.com/s/U-o58Bi0B7kMocwxqlptfA |
4 wzwwzw 2023 年 11 月 12 日 试试 playwright ,playwright 在开发环境上简单很多,不需要下载 chromedriver 之类的东西。 |
5 CoderLife 2023 年 11 月 12 日 用 xvfb |
6 atx 2023 年 11 月 13 日 走 CDP 把 |
7 PiCpo 2023 年 11 月 13 日 无头模式 |
8 defunct9 2023 年 11 月 13 日 via iPhone 当初配了半天才搞定。需要你对 linux 足够熟悉 |
9 macaodoll 2023 年 11 月 13 日 via Android Selenium 官方有 docker 容器 |
10 PikaTQL 2023 年 11 月 13 日 赞同楼上,用容器万事大吉 |
11 aosan926 2023 年 11 月 13 日 Docker +1 , 用 Selenium Grid ,可以不用配置桌面环境,https://github.com/SeleniumHQ/docker-selenium |
12 C0nvN3t 2023 年 11 月 13 日 options.add("--headless") 试试? |
13 privil 2023 年 11 月 13 日 @mekingname #3 确实可以跑,就是 Selenium 相关的代码 API 改动了 |
14 vialon17 2023 年 11 月 13 日 --disable-extensions --disable-dev-shm-usage --no-sandbox --user-data-dir=./data/chrome_data/ --remote-debugging-port=30667 看起来没加 devtool 端口,最新的 selenium 不管 driver 其实也可以跑,不需要添加 executable_path 参数。 当然我这边用的 python selenium 。 |
15 UKnowMe 2023 年 11 月 13 日 试下:webdriver-manager 库 |
16 tiRolin OP @mekingname 谢谢谢谢,这个真的帮大忙了,前几天我就解决问题了,但是忘了回复你了就是 |