python自动下载更新各浏览器驱动(示例谷歌驱动)到指定位置

一 背景

在使用selenium的时候,用谷歌浏览器需要经常更新驱动,在网上找到了webdriver-manager在各浏览器的用法,但因为一般用法未更新谷歌驱动到我需要的anaconda3+谷歌浏览器安装位置的路径下,所以每次运行都会下载一次,很慢,就借助了webdriver-manager已实现的功能,实现将谷歌驱动下载到指定位置。

二 webdriver-manager各浏览器一般用法

以下这种方法虽然可以用,但因为未更新谷歌驱动到我需要的anaconda路径下,所以每次运行都会下载一次,很慢

#!/usr/bin/env python
# encoding: utf-8

from selenium import webdriver
from time import sleep
from webdriver_manager.chrome import ChromeDriverManager  # Chrome
from webdriver_manager.firefox import GeckoDriverManager  # FireFox
from webdriver_manager.microsoft import IEDriverManager, EdgeChromiumDriverManager  # IE、Edge
url = 'https://www.baidu.com/'
# 应用举例
def wb_test():   
    try:
        driver = webdriver.Chrome()
    except:
        # 异常时,再去下载driver
        # selenium3.x 用法
        driver = webdriver.Chrome(ChromeDriverManager().install())  # Chrome
        # driver = webdriver.Firefox(GeckoDriverManager().install())  # FireFox
        # driver = webdriver.Edge(EdgeChromiumDriverManager().install())  # Edge
        # selenium4.x 用法
        # driver = webdriver.Chrome(service=ChromeService(ChromeDriverManager().install()))
    
    driver.get(url)
    sleep(1)
    driver.close()

if __name__ == '__main__':
    wb_test()

三 下载谷歌驱动到指定位置示例(优化版本)

思路:利用webdriver-manager下载浏览器对应版本的谷歌驱动,找到存放路径后,shutil.copyfile(src, dest)将下载的谷歌驱动移动到需要的位置

#!/usr/bin/env python
# encoding: utf-8
'''
@Author  : 草木零
@Software: PyCharm
@File    : Update_chromeDriver.py
@Time    : 2023/8/1 18:54
@desc   : 借助webdriver,自动更新谷歌驱动到指定位置
'''

import shutil

from selenium import webdriver
from time import sleep
from webdriver_manager.chrome import ChromeDriverManager  # Chrome


# 借助webdriver下载的谷歌驱动,移动到指定位置
def update_driver():
    # selenium3.x 用法
    try:
        driver = webdriver.Chrome()
    except:
        # 异常时,再去下载driver

        driver_path = ChromeDriverManager().install()  # 下载latest release版本的chromedriver,并返回其在本机的下载存储路径
        print(driver_path)
        src = driver_path

        # 我的谷歌浏览器安装位置下的旧谷歌驱动
        dest1 = r'C:\Program Files\Google\Chrome\Application\chromedriver.exe'
        shutil.copyfile(src, dest1)

        # 我的anaconda3安装位置下的旧谷歌驱动所在位置
        dest2 = r'D:\ProgramFiles\Anaconda3\chromedriver.exe'
        shutil.copyfile(src, dest2)

        # 因为上面已经将对应的谷歌驱动放到需要的位置了,所以现在不会报错了
        driver = webdriver.Chrome()

    # 尝试进行访问
    url = 'https://www.baidu.com/'
    driver.get(url)
    sleep(1)
    driver.close()
    

if __name__ == '__main__':
    update_driver()
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值