国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

selenium【自動下載谷歌驅(qū)動】自動獲取谷歌版本,并自動下載對應(yīng)版本的chromedriver.exe

這篇具有很好參考價值的文章主要介紹了selenium【自動下載谷歌驅(qū)動】自動獲取谷歌版本,并自動下載對應(yīng)版本的chromedriver.exe。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

前言

因為電腦google瀏覽器自動升級,還有就是其他同事使用的Google瀏覽器版本與自己的不一致,需要重復(fù)去下載,所有老是需要重新去下載驅(qū)動,很麻煩,所有寫了一個自動下載驅(qū)動的方法。
當(dāng)前方法只適配了Windows上的google驅(qū)動,其它系統(tǒng)和瀏覽器可以自己修改適配一下。

獲取谷歌版本(獲取google版本)

# __*__ coding:utf-8 __*__

import os

# 獲取瀏覽器版本,windows
chromeV = os.popen('reg query "HKEY_CURRENT_USER\Software\Google\Chrome\BLBeacon" /v version').read().strip().split(" ")[-1]

定義下載驅(qū)動方法

# __*__ coding:utf-8 __*__

import logging
import os
import xml
import zipfile
import requests
from xml.etree import ElementTree
import re
import win32api, win32con


PATH = lambda x: os.path.abspath(os.path.join(os.path.dirname(__file__), x))

def downloadChromeDriver(chrome_version, platform='win'):
    """
    自動下載谷歌驅(qū)動
    :param chrome_version: 谷歌瀏覽器版本, 如:106.0.5249.119
    :param platform: 1.win  2.linux  3.mac
    """
    xmlns = '{http://doc.s3.amazonaws.com/2006-03-01}'
    url = 'http://chromedriver.storage.googleapis.com/?delimiter=/&prefix='
    resp = requests.get(url=url)
    # 讀取字符串格式xml數(shù)據(jù)
    tree = xml.etree.ElementTree.fromstring(resp.text)
    CommonPrefixes_list = tree.findall('{}CommonPrefixes'.format(xmlns))
    for Prefix in CommonPrefixes_list:
        # 獲取所有的驅(qū)動文件版本
        prefix_ = Prefix.findall('{}Prefix'.format(xmlns))[0].text
        if chrome_version[0:10] == prefix_[0:10]:
            resp = requests.get('{}{}'.format(url, prefix_))
            # 版本下各個系統(tǒng)版本谷歌驅(qū)動
            root = xml.etree.ElementTree.fromstring(resp.text)
            contents = root.findall('{}Contents'.format(xmlns))
            for con in contents:
                # print(con.tag)
                headers = {
                    'Accept-Encoding': 'gzip, deflate',
                    'Accept-Language': 'zh-CN,zh;q=0.9'
                }
                # 下載驅(qū)動
                # http://chromedriver.storage.googleapis.com/100.0.4896.20/chromedriver_win32.zip
                if 'Key' in con[0].tag and platform in con[0].text:
                    resp_zip = requests.get(url='http://chromedriver.storage.googleapis.com/'+con[0].text, headers=headers)
                    zipfile_name = con[0].text.split('/')[1]
                    with open(PATH(zipfile_name), 'wb') as zip:
                        zip.write(resp_zip.content)
                    break
            else:
                return 0
            # 解壓驅(qū)動文件并替換
            zf = zipfile.ZipFile(zipfile_name, 'r')
            name_list = [item for item in zf.namelist()]
            for gz_item in name_list:
                f_data = zf.read(gz_item)
                with open(PATH("chromedriver.exe"), 'wb') as f:
                    # 保存解壓出來的文件
                    f.write(f_data)
                logging.info('對應(yīng)谷歌瀏覽器驅(qū)動版本下載成功')
            zf.close()
            # 刪除zip壓縮包文件
            os.remove(PATH('chromedriver_win32.zip'))
            return 1
    else:
        logging.error('沒有找到 {} 版本的驅(qū)動。請手動前往下載:{}'.format(chrome_version, url))
    return 0

下載邏輯判斷

1、本地不存在驅(qū)動,直接下載
2、存在且版本與瀏覽器版本匹配,則跳過
3、存在但版本跟瀏覽器匹配不上,則自動下載文章來源地址http://www.zghlxwxcb.cn/news/detail-508037.html

# 如果沒有谷歌驅(qū)動,自動下載驅(qū)動
if not os.path.isfile(PATH("chromedriver.exe")):
	dret = downloadChromeDriver(chromeV)
    logging.info('google驅(qū)動自動下載成功') if dret == 1 else logging.error('google驅(qū)動下載失??!')

# 啟動瀏覽器
s = Service(executable_path=PATH("chromedriver.exe"))
options = webdriver.ChromeOptions()
# 禁用日志--因為cmd運行的時候出現(xiàn)日志打印,且展示為亂碼
options.add_experimental_option('excludeSwitches', ['enable-logging'])


# 方法一:如果驅(qū)動有,則嘗試使用舊的驅(qū)動啟動,啟動失敗則自動下載更新驅(qū)動
try:
	driver = webdriver.Chrome(service=s, options=options)
except Exception as e:
    logging.info('啟動失敗當(dāng)前驅(qū)動可能與瀏覽器不匹配,更新一下驅(qū)動\n{}'.format(e))
    downloadChromeDriver(chromeV)
    driver = webdriver.Chrome(service=s, options=options)


# 方法二:獲取驅(qū)動的版本,和瀏覽器版本對比

# 獲取google驅(qū)動版本
chromedriver_version = os.popen(PATH('chromedriver.exe')).read().strip().split(' ')[2]

# 如果沒有谷歌驅(qū)動,自動下載驅(qū)動
if chromeV[0:10] != chromedriver_version[0:10]:
    os.remove('chromedriver.exe')
    dret = downloadChromeDriver(chromeV)
    logging.info('當(dāng)前驅(qū)動可能與瀏覽器版本相差過大,更新驅(qū)動成功') if dret == 1 else logging.error('google驅(qū)動下載失敗!')
else:
    logging.info('當(dāng)前驅(qū)動與瀏覽器版本匹配,無需更新驅(qū)動')



到了這里,關(guān)于selenium【自動下載谷歌驅(qū)動】自動獲取谷歌版本,并自動下載對應(yīng)版本的chromedriver.exe的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • Selenium webdriver_manager根據(jù)瀏覽器版本自動下載對應(yīng)驅(qū)動程序

    webdriver_manager是什么? webdriver_manager 是 Python 中的一個庫,用于管理 Web 驅(qū)動程序。它的作用是自動下載和設(shè)置不同瀏覽器(如 Chrome、Firefox、Edge 等)的 Web 驅(qū)動程序,以便在自動化測試中使用這些瀏覽器。 在進(jìn)行 Selenium 測試時,需要一個與瀏覽器相匹配的 Web 驅(qū)動程序,以

    2024年02月11日
    瀏覽(26)
  • ChromeDriver | 谷歌瀏覽器驅(qū)動下載地址 及 瀏覽器版本禁止更新

    ChromeDriver | 谷歌瀏覽器驅(qū)動下載地址 及 瀏覽器版本禁止更新

    在使用selenoum時,需要chrome瀏覽器的版本和chrome瀏覽器驅(qū)動的版本一致匹配,才能進(jìn)行自動化測試 國內(nèi)可以搜到的谷歌瀏覽器下載地址里面最新的驅(qū)動器只有114版本的 CNPM Binaries Mirror 在其他博主那找到了最新版本12X的谷歌驅(qū)動器下載地址,里面有最新的版本:Chrome for Testin

    2024年02月21日
    瀏覽(25)
  • Selenium安裝WebDriver:最新ChromeDriver谷歌驅(qū)動及閃退等常見問題(114及其以后的版本)

    Selenium安裝WebDriver:最新ChromeDriver谷歌驅(qū)動及閃退等常見問題(114及其以后的版本)

    點擊進(jìn)去可以看到下載鏈接 ? 截止2023.9.12我的谷歌瀏覽器版本是?116.0.5845.188(正式版本) 我選擇了? 116.0.5845.96 ?( r1160321 )(最后一個) 隨著版本更新,大家要根據(jù)自己瀏覽器版本進(jìn)行選擇相應(yīng)驅(qū)動,盡量保證驅(qū)動版本和瀏覽器版本一致,前三位保持一致一般就可以正常使

    2024年02月22日
    瀏覽(161)
  • Selenium安裝WebDriver:ChromeDriver谷歌瀏覽器驅(qū)動下載安裝與使用最新版118/119/120

    Selenium安裝WebDriver:ChromeDriver谷歌瀏覽器驅(qū)動下載安裝與使用最新版118/119/120

    在使用之前的代碼通過selenium操作Chrome瀏覽器時,安裝中遇到了Chrome版本與瀏覽器驅(qū)動不匹配的的問題,在此記錄安裝下過程 我們首先確定自己的Chrome版本 Chrome設(shè)置-關(guān)于Chrome 可以看到,當(dāng)前chrome是最新版本:119.0.6045.124(正式版本) (64 位)。 或者在瀏覽器的地址欄,輸入

    2024年02月05日
    瀏覽(102)
  • selenium 谷歌驅(qū)動(ChromeDriver)安裝教程

    selenium 谷歌驅(qū)動(ChromeDriver)安裝教程

    首先,下載與當(dāng)前Chrome對應(yīng)的chromedriver.exe 打開谷歌瀏覽器 找到幫助-關(guān)于?Google Chrome ?查看版本號如果顯示無法更新,可以在凌晨時分進(jìn)去查看,會更容易建立連接 第二,下載chromedriver驅(qū)動包 下載地址:http://chromedriver.storage.googleapis.com/index.html 選擇與自己的谷歌版本相近的

    2024年02月11日
    瀏覽(109)
  • selenium下載安裝對應(yīng)的chromedriver并執(zhí)行

    selenium下載安裝對應(yīng)的chromedriver并執(zhí)行

    selenium Selenium 是廣泛使用的模擬瀏覽器運行的庫,它是一個用于 Web 應(yīng)用程序測試的工具。 Selenium 測試直接運行在瀏覽器中,就像真正的用戶在操作一樣,并且支持大多數(shù)現(xiàn)代 Web 瀏覽器。 對應(yīng)版本chrome驅(qū)動下載 查看瀏覽器對應(yīng)的chrome版本 瀏覽器輸入 chrome://version/ 114以及之

    2024年02月05日
    瀏覽(22)
  • 安裝selenium和關(guān)于chrome高版本對應(yīng)的driver驅(qū)動下載安裝【W(wǎng)in/Mac 】

    安裝selenium和關(guān)于chrome高版本對應(yīng)的driver驅(qū)動下載安裝【W(wǎng)in/Mac 】

    目錄 一、查看自己電腦上chrome的版本 二、下載 ChromeDriver? 三、安裝selenium 法一:打開pycharm,點擊File,Setting進(jìn)入配置頁面,點擊Project下面的Python Interpreter進(jìn)入環(huán)境配置頁面,點擊+。輸入selenium。之后install 四、環(huán)境配置 五、驗證安裝 一、查看自己電腦上chrome的版本 二、下

    2024年04月11日
    瀏覽(30)
  • python selenium對應(yīng)的瀏覽器chromedriver版本不一致

    python selenium對應(yīng)的瀏覽器chromedriver版本不一致

    報錯:session not created: This version of ChromeDriver only supports Chrome version google瀏覽器對應(yīng)解決方法 這是因為python使用selenium調(diào)用模塊的時候,會用chromedriver去調(diào)用google瀏覽器。chrome和chromedriver版本不一致導(dǎo)致的,我們只需要升級下chromedriver的版本即可 瀏覽器版本查看 查看chromedri

    2024年02月07日
    瀏覽(24)
  • Selenium 與(Firefox、GeckoDriver)和(Chrome、ChromeDriver)版本對應(yīng)關(guān)系

    找了一圈,竟然一個靠譜的版本對應(yīng)表都找不到,這里整理一下 Selenium ChromeDriver Chrome GeckoDriver Firefox 文檔地址:Geckodriver Supported platforms geckodriver Selenium Firefox 0.32.0 ≥ 3.11 (3.14 Python) 102 ESR - n/a 0.31.0 ≥ 3.11 (3.14 Python) 91 ESR - n/a 0.30.0 ≥ 3.11 (3.14 Python) 78 ESR - 90 0.29.1 ≥ 3.11 (3.14

    2024年01月18日
    瀏覽(22)
  • 谷歌chrome瀏覽器所有歷史版本下載及selenium自動化控制插件資源分享

    谷歌chrome瀏覽器所有歷史版本下載及selenium自動化控制插件資源分享

    使用python + selenium做網(wǎng)頁自動化開發(fā)的小伙伴經(jīng)常需要用到google chrome瀏覽器以及chromedriver插件。? ?? 谷歌瀏覽器所有歷史版本下載鏈接: chrome歷史版本,點擊下載 chromedriver插件下載地址: 下載鏈接1:點擊下載 下載鏈接2:點擊下載 chromedriver插件與瀏覽器版本有對應(yīng)關(guān)系,

    2024年02月14日
    瀏覽(20)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包