V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
yazoox
V2EX  ›  问与答

selenium-standalone 安装时,无法下载 chromedriver,怎么办?

  •  
  •   yazoox · 2020-05-22 23:00:23 +08:00 · 1660 次点击
    这是一个创建于 1405 天前的主题,其中的信息可能已经有所发展或是发生改变。

    windows10

    运行 "node_modules.bin\selenium-standalone.cmd install".

    然后就卡住了,接着报错如下

    node_modules\.bin\selenium-standalone.cmd install
    ...
    
    Error: Could not download https://chromedriver.storage.googleapis.com/2.43/chromedriver_win32.zip: Error: read ECONNRESET
    

    googleapis.com 这个地址,我们都知道,被墙的。

    但是我在 IE 的 proxy server 设置里面,挂了代理。并且能够用 IE 打开油管。

    这个设置对 windows command 不起作用么?

    那怎么样才可以安装这些 driver 呢?

    7 条回复    2020-05-23 12:46:29 +08:00
    icyluna
        1
    icyluna  
       2020-05-23 01:29:26 +08:00 via iPhone
    seki
        2
    seki  
       2020-05-23 02:17:11 +08:00
    有一个 npm/环境 变量可以用来配置下载的地址
    wwqgtxx
        3
    wwqgtxx  
       2020-05-23 08:07:33 +08:00 via iPhone
    set http_proxy 和 set https_proxy 这两个环境变量
    yazoox
        4
    yazoox  
    OP
       2020-05-23 09:50:49 +08:00
    @seki 这个手工下载没有用吧。就算手工下载了,拷贝到目标目录,也不能完成 selenium 的安装啊?

    @icyluna 我的.npmrc 里面,已经设置了
    `registry=https://registry.npm.taobao.org/`

    但这个安装,好像和 npm 没有关系吧?是直接调用的 selenium 的 script/cmd

    @wwqgtxx 兄弟,我试着按你的方法设置。
    ```
    set http_proxy=http://127.0.0.1:1080
    set https_proxy=https://127.0.0.1:1080
    ```

    我本地 v2r**的 client 已经打开,监听的就是 127.0.0.1:1080 。已经用 chrome 确认 v2r**正常工作了。

    但是还是不成功呢,报错如下:

    ```
    Error: Could not download https://chromedriver.storage.googleapis.com/2.43/chromedriver_win32.zip: Error: tunneling socket could not be established, cause=Client network socket disconnected before secure TLS connection was established
    ```
    yazoox
        5
    yazoox  
    OP
       2020-05-23 10:27:36 +08:00
    @wwqgtxx
    试了一下 环境变量

    set http_proxy=socks5://127.0.0.1:1080
    set https_proxy=socks5://127.0.0.1:1080

    或者
    .npmrc 设置
    http-proxy=socks5://127.0.0.1:1080
    https-proxy=socks5://127.0.0.1:1080

    均不行。报错类似
    ```
    Error: Could not download chromedriver_win32.zip: Error: tunneling socket could not be established, cause=socket hang up
    ```

    但我使用
    ```
    curl <https:>//chromedriver.storage.googleapis.com/2.43/chromedriver_win32.zip -O
    ```

    能够成功下载(通过代理)

    p.s. V2EX 不让我输入外链地址。
    yazoox
        6
    yazoox  
    OP
       2020-05-23 12:05:38 +08:00
    尝试使用
    ```
    selenium-standalone install --version=3.141 --baseURL=<http>://npm.taobao.org/mirrors/selenium
    selenium-standalone install --drivers.chrome.version=2.43 --drivers.chrome.baseURL=<https>://npm.taobao.org/mirrors/chromedriver
    ```

    指定 mirror 安装,可是报错提示,还是
    ```
    Error: Could not download <https>://chromedriver.storage.googleapis.com/2.43/chromedriver_win32.zip: Error: tunneling socket could not be established, cause=write EPROTO 16132:error:1408F10B:SSL routines:ssl3_get_record:wrong version number:c:\ws\deps\openssl\openssl\ssl\record\ssl3_record.c:332:
    ```
    yazoox
        7
    yazoox  
    OP
       2020-05-23 12:46:29 +08:00
    Resolved the issue.

    用的 v2xx 的代理,本地有一个 v2xx 客户端,打开 HTTP 代理,全局模式。
    去 IE 里面查看网络设置,发现端口不是 v2xx 的 1080,而是 1081 (所以前面一直失败)
    于是,windows command line 环境变量设置

    set HTTPS_PROXY=http://127.0.0.1:1081
    set HTTP_PROXY=http://127.0.0.1:1081

    然后,再运行 selenium-standalone install 就能够成功下载安装各个 drivers 了。

    打扰大家了。

    谢谢!
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3103 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 14:30 · PVG 22:30 · LAX 07:30 · JFK 10:30
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.