Linux 服务器上无法正确调用 Selenium 框架制作的爬虫接口问题怎么解决? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
tiRolin
V2EX    浏览器

Linux 服务器上无法正确调用 Selenium 框架制作的爬虫接口问题怎么解决?

  •  
  •   tiRolin 2023-11-12 16:15:31 +08:00 2518 次点击
    这是一个创建于 700 天前的主题,其中的信息可能已经有所发展或是发生改变。

    本地使用就可以解决,但是服务器上不行

    服务器的谷歌版本是 119.0.6045.123 ,chromedriver 的版本是 119.0.6045.105 ,我本地在 Windows 上都是可以正常运行的,但是 Linux 上就会报下面的异常

    org.opnqa.selenium.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 版本我真找不到

    这个问题卡了我挺久了,我不知道咋整所以来问问,看看有没有大佬能救下

    16 条回复    2023-11-14 21:13:51 +08:00
    yzding
        1
    yzding  
       2023-11-12 16:29:14 +08:00 via iPhone
    使用 headless 参数
    sanjay128
        2
    sanjay128  
       2023-11-12 17:58:06 +08:00
    版本对不上的问题。等两天,等 choromedriver 更新到 119.0.6045.123 。或者下载旧版本的 chrome 和 chromedriver 。
    两者必须版本一致才行。
    mekingname
        3
    mekingname  
       2023-11-12 18:04:59 +08:00
    这是因为你的服务器没有桌面,Chrome 起不来导致的问题。你可以在服务器上面安装 Xvfb ,它可以创建一个假桌面,让 Selenium 可以用有头模式来运行。然后使用 Xvfb 来启动代码就可以了。

    你可以看我的这篇文章: https://mp.weixin.qq.com/s/U-o58Bi0B7kMocwxqlptfA
    wzwwzw
        4
    wzwwzw  
       2023-11-12 21:30:00 +08:00
    试试 playwright ,playwright 在开发环境上简单很多,不需要下载 chromedriver 之类的东西。
    CoderLife
        5
    CoderLife  
       2023-11-12 22:50:41 +08:00
    用 xvfb
    atx
        6
    atx  
       2023-11-13 00:02:11 +08:00
    走 CDP 把
    PiCpo
        7
    PiCpo  
       2023-11-13 01:18:51 +08:00
    无头模式
    defunct9
        8
    defunct9  
       2023-11-13 06:42:31 +08:00 via iPhone
    当初配了半天才搞定。需要你对 linux 足够熟悉
    macaodoll
        9
    macaodoll  
       2023-11-13 08:28:14 +08:00 via Android
    Selenium 官方有 docker 容器
    PikaTQL
        10
    PikaTQL  
       2023-11-13 08:43:17 +08:00
    赞同楼上,用容器万事大吉
    aosan926
        11
    aosan926  
       2023-11-13 09:04:22 +08:00
    Docker +1 , 用 Selenium Grid ,可以不用配置桌面环境,https://github.com/SeleniumHQ/docker-selenium
    C0nvN3t
        12
    C0nvN3t  
       2023-11-13 10:09:07 +08:00
    options.add("--headless") 试试?
    privil
        13
    privil  
       2023-11-13 11:46:02 +08:00
    @mekingname #3 确实可以跑,就是 Selenium 相关的代码 API 改动了
    vialon17
        14
    vialon17  
       2023-11-13 12:03:25 +08:00
    --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 。
    UKnowMe
        15
    UKnowMe  
       2023-11-13 17:11:01 +08:00
    试下:webdriver-manager 库
    tiRolin
        16
    tiRolin  
    OP
       2023-11-14 21:13:51 +08:00
    @mekingname 谢谢谢谢,这个真的帮大忙了,前几天我就解决问题了,但是忘了回复你了就是
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2745 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 12:30 PVG 20:30 LAX 05:30 JFK 08:30
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86