zoukankan      html  css  js  c++  java
  • selenium:chromedriver与chrome版本的对应关系

    今天想用Python实现一个自动刷新网页的脚本,需要用到selenium。
    因为刚开始没有指定chromedriver,所以报错:

    Traceback (most recent call last):
      File "D:Anaconda3libsite-packagesseleniumwebdrivercommon
    
    service.py", line 76, in start
        stdin=PIPE)
      File "D:Anaconda3libsubprocess.py", line 709, in __init__
        restore_signals, start_new_session)
      File "D:Anaconda3libsubprocess.py", line 997, in _execute_child
        startupinfo)
    FileNotFoundError: [WinError 2] 系统找不到指定的文件。
    
    During handling of the above exception, another exception occurred:
    
    Traceback (most recent call last):
      File "f5.py", line 5, in <module>
      File "D:Anaconda3libsite-packagesseleniumwebdriverchrome
    
    webdriver.py", line 68, in __init__
        self.service.start()
      File "D:Anaconda3libsite-packagesseleniumwebdrivercommon
    
    service.py", line 83, in start
        os.path.basename(self.path), self.start_error_message)
    selenium.common.exceptions.WebDriverException: Message: 'chromedriver' 
    
    executable needs to be in PATH. Please see 
    
    https://sites.google.com/a/chromium.org/chromedriver/home
    

    然后我去下载chromedriver,随便下了一个版本的,结果又报错:

    DevTools listening on ws://127.0.0.1:12059/devtools/browser/c21c107d-fa6a-
    
    4739-8cd6-0f1718fb6db8
    Traceback (most recent call last):
    [38752:39792:0423/153855.462:ERROR:plugin_data_remover_impl.cc(123)] Timed 
    
    out
      File "f5.py", line 6, in <module>
      File "D:Anaconda3libsite-packagesseleniumwebdriver
    emote
    
    webdriver.py", line 726, in maximize_window
        self.execute(command, {"windowHandle": "current"})
      File "D:Anaconda3libsite-packagesseleniumwebdriver
    emote
    
    webdriver.py", line 310, in execute
        response = self.command_executor.execute(driver_command, params)
      File "D:Anaconda3libsite-packagesseleniumwebdriver
    emote
    
    
    emote_connection.py", line 466, in execute
        return self._request(command_info[0], url, body=data)
      File "D:Anaconda3libsite-packagesseleniumwebdriver
    emote
    
    
    emote_connection.py", line 490, in _request
        resp = self._conn.getresponse()
      File "D:Anaconda3libhttpclient.py", line 1331, in getresponse
        response.begin()
      File "D:Anaconda3libhttpclient.py", line 297, in begin
        version, status, reason = self._read_status()
      File "D:Anaconda3libhttpclient.py", line 258, in _read_status
        line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1")
      File "D:Anaconda3libsocket.py", line 586, in readinto
        return self._sock.recv_into(b)
    ConnectionResetError: [WinError 10054] 远程主机强迫关闭了一个现有的连接。
    

    之后继续百度寻找答案,才发现:
    再使用selenium打开chrome浏览器的时候,需要用chromedriver,而chromedriver与
    chrome的版本也是要相互适宜的,对应关系如下:

    chromedriver版本 支持的Chrome版本
    v2.36 v64-66
    v2.35 v62-64
    v2.34 v61-63
    v2.33 v60-62
    v2.32 v59-61
    v2.31 v58-60
    v2.30 v58-60
    v2.29 v56-58

    所以,先在浏览器地址栏输入:chrome://version
    得到浏览器的版本,之后找到对应的chromedriver版本,并下载。
    下载链接是:

  • 相关阅读:
    StringUtils工具类的使用
    struts2 文件上传和下载,以及部分源代码解析
    ios开发之猜数字游戏
    从epoll构建muduo-12 多线程入场
    POJ3009 Curling 2.0(DFS)
    IOS-4-面试题1:黑马程序猿IOS面试题大全
    Android-Universal-Image-Loader载入图片
    《UNIX环境高级编程》读书笔记 —— 文件 I/O
    畅通project再续 HDU杭电1875 【Kruscal算法 || Prim】
    轻松学习之Linux教程四 神器vi程序编辑器攻略
  • 原文地址:https://www.cnblogs.com/whist/p/8919748.html
Copyright © 2011-2022 走看看