<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      selenium驅動未隨瀏覽器更新而同步更新的問題

      基于selenium模擬谷歌瀏覽器登錄時,依賴chromedriver.exe版本信息。但谷歌瀏覽器升級后,之前創建的腳本可能會出現因驅動版本過低,使得之前創建的腳本運行失敗的問題。

      下面針對該問題進行探索和解決。


      selenium版本

      import selenium
      
      selenium.__version__
      #'4.7.2'
      

      獲取谷歌瀏覽器版本信息

      import platform
      import subprocess
      
      system = platform.system()
      
      if system == 'Windows':
          cmd = r'reg query "HKEY_CURRENT_USER\Software\Google\Chrome\BLBeacon" /v version'
          output = subprocess.check_output(cmd, shell=True)
          version = output.split()[-1].decode()
      elif system == 'Darwin':
          cmd = r'/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --version'
          output = subprocess.check_output(cmd, shell=True)
          version = output.split()[2].decode()
      else:
          cmd = r'google-chrome --version'
          output = subprocess.check_output(cmd, shell=True)
          version = output.split()[2].decode()
      
      print('當前谷歌瀏覽器版本為:', version)
      
      

      image-20230410172406622

      獲取驅動的版本信息

      image-20230410172624073

      驅動下載鏡像:

      1. 鏡像1
      2. 鏡像2

      首先我們先查看電腦上有幾個chromedriver.exe:

      image-20230410181025980

      運行結果信息:

      # -*- coding=utf-8-*-
      import os
      from selenium import webdriver
      
      # 獲取chromedriver.exe的路徑
      driver_path = os.path.join(os.getcwd(), "chromedriver.exe")
      
      # 初始化Chrome瀏覽器,注意需要將executable_path參數指向chromedriver.exe的路徑
      print(f"driver_path={driver_path}")
      browser = webdriver.Chrome(executable_path=driver_path)
      
      # 獲取chromedriver.exe的版本信息
      print("chromedriver.exe version:", browser.capabilities['chrome']['chromedriverVersion'])
      
      # 關閉瀏覽器
      browser.quit()
      
      """
      driver_path=E:\python_scripts\python\Happy100\selenium\chromedriver.exe
      chromedriver.exe version: 112.0.5615.49 (bd2a7bcb881c11e8cfe3078709382934e3916914-refs/branch-heads/5615@{#936})
      
      """
      

      其與當前谷歌瀏覽器保持一致。這是為什么呢?我們重新查找chromedriver.exe:發現,在系統盤新增了一個臨時文件,上述腳本訪問的是該路徑下的驅動。

      可能原因是:當前Python環境下無對應的驅動,算法自動下載了最新版本的驅動。

      進一步驗證:我們先刪除上述臨時驅動,然后下載一個舊的驅動版本(70.0.3538.16,并將其移至anaconda路徑下),然后重新運行腳本:

      image-20230410182019402

      jupyter中執行運行下述命令:

      driver = webdriver.Chrome()
      
      """
      SessionNotCreatedException: Message: session not created: Missing or invalid capabilities
        (Driver info: chromedriver=70.0.3538.16 (16ed95b41bb05e565b11fb66ac33c660b721f778),platform=Windows NT 10.0.22000 x86_64)
      
      #和實際相符
      
      """
      

      此時查詢chromedriver.exe并未出現新增。

      然后我們重新運行GPT提供的腳本:

      image-20230410182435081

      其輸出仍然是[谷歌瀏覽器]的版本信息;未獲取到真正的版本信息。

      結論:

      1. 在python環境中配置驅動(chromedriver.exe放置在anaconda安裝路徑下)的方式,但瀏覽器更新時,驅動不會及時得到更新;

      2. 上述獲取chromedriver.exe不能獲取有效的驅動版本信息;

      3. 在不配置驅動(chromedriver.exe)的情況下,算法第一次調用時會自行下載對應的驅動文件(ps:早些版本貌似必須安裝驅動)

      官方幫助文檔

      image-20230410220653137

      小結

      未配置的情況下

      安裝第三方庫:(Github傳送門)

      pip install webdriver-manager
      

      在第一次調用是會自動下載對應的驅動文件;

      from webdriver_manager.chrome import ChromeDriverManager
      from selenium.webdriver.chrome.service import Service as ChromeService
      from selenium import webdriver
      
      
      service = ChromeService(executable_path=ChromeDriverManager().install())
      driver = webdriver.Chrome(service=service)
      driver.quit()
      

      已經配置的情況

      下載最新的驅動,然后去目標路徑下替換對應的驅動即可;

      將最新驅動下載到指定的路徑下

      核心:添加path參數,用于控制最新驅動的緩存;

      from webdriver_manager.chrome import ChromeDriverManager
      from selenium.webdriver.chrome.service import Service as ChromeService
      from selenium import webdriver
      
      try:
          driver = webdriver.Chrome()
      except SessionNotCreatedException:
          #anacaonda安裝路徑
          service = ChromeService(executable_path=ChromeDriverManager(path=r"D:\software\Anaconda3").install())
          driver = webdriver.Chrome(service=service)    
          
      
      posted @ 2023-04-11 09:06  LgRun  閱讀(424)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 亚洲丶国产丶欧美一区二区三区 | 少妇激情av一区二区三区| 亚洲国内精品一区二区| 香格里拉县| 国产女人叫床高潮大片| 樱花草视频www日本韩国| 真人作爱免费视频| 一区二区不卡99精品日韩| 国产精品亚洲二区亚瑟| 欧美自拍嘿咻内射在线观看| 免费看一区无码无a片www| 国产偷窥熟女高潮精品视频| 亚洲男人的天堂av手机在线观看| 国产九九视频一区二区三区| 国产中文字幕精品视频| 建湖县| 插入中文字幕在线一区二区三区| 亚洲午夜av久久久精品影院| 久久这里都是精品二| 加勒比亚洲视频在线播放| 无遮挡午夜男女xx00动态| 18禁国产一区二区三区| 人妻中文字幕精品一页| 日韩无人区码卡1卡2卡| 久久精品国产99久久六动漫| 亚洲国产片一区二区三区| 国产精品自在自线视频| 久99久热这里只有精品| 日韩中文字幕精品人妻| 美女裸体黄网站18禁止免费下载 | 国产片AV国语在线观看手机版| 青青草无码免费一二三区| 深夜在线观看免费av| 国产精品熟女亚洲av麻豆| 毛片tv网站无套内射tv网站| 成人自拍小视频免费观看| 巴彦淖尔市| 公天天吃我奶躁我的在线观看| 国内精品大秀视频日韩精品| 国产精品一区二区三区卡| 亚洲综合一区国产精品|