import os
import requests
from selenium import webdriver
import re
import zipfiledef un_zip(file_name_path, file_path):"""unzip zip file"""folder_path = file_path + file_name_path.split('\\')[-1].split('.')[0]# 解压文件,创建一个zip_file对象zip_file = zipfile.ZipFile(file_name_path)try:if os.path.isdir(folder_path):Noneelse:os.mkdir(folder_path)for names in zip_file.namelist():zip_file.extract(names, folder_path)print(file_name_path, '解压成功')except Exception as result:print("文件名重复,报错:\n%s\n请查看文件是否已解压" % result)def get_chromedriver_state(path):try:chrome_options = webdriver.ChromeOptions()chromedriver_path = path + r'chromedriver_win32\\chromedriver.exe'webdriver.Chrome(executable_path=chromedriver_path, options=chrome_options)return {'state': '1', 'explain': '该版本可使用', 'path': path + r'chromedriver_win32\\chromedriver.exe'}except Exception as e:print('e:', e)if "'chromedriver.exe' executable needs to be in PATH" in str(e):print('未检到chromedriver.exe文件,开始下载旧版未检到chromedriver!')url = 'http://chromedriver.storage.googleapis.com/99.0.4844.35/chromedriver_win32.zip'r = requests.get(url).contentopen(path + 'chromedriver_win32.zip', 'wb+').write(r)un_zip(path + 'chromedriver_win32.zip', path)return get_chromedriver_state(path)version_number = re.findall(r'browser version is (.*) with binary', str(e))[0]print('检测到chrome版本为:', version_number)print('开始下载压缩文件到:', path)url = 'http://chromedriver.storage.googleapis.com/' + version_number + '/chromedriver_win32.zip'print('下载链接:', url)r = requests.get(url).contentopen(path + 'chromedriver_win32.zip', 'wb+').write(r)un_zip(path + 'chromedriver_win32.zip', path)return {'state': '1', 'explain': '文件已更新', 'path': path + r'chromedriver_win32\\chromedriver.exe'}if __name__ == '__main__':print(get_chromedriver_state('cs\\'))

根据当前谷歌浏览器版本获取或更新更新chromedriver.exe相关推荐

  1. Selenium根据Chrome浏览器版本自动下载/更新驱动chromedriver.exe

    个人经常使用到selenium来控制浏览器进行相关的操作,但是Chrome浏览器经常会自动更新,导致已有的驱动程序chromedriver.exe失效,需要重新下载. 以前尝试过禁止Chrome浏览器 ...

  2. selenium【自动下载谷歌驱动】自动获取谷歌版本,并自动下载对应版本的chromedriver.exe

    自动获取谷歌版本,并自动下载对应版本的chromedriver.exe 前言 获取谷歌版本(获取google版本) 定义下载驱动方法 下载逻辑判断 最后送个小福利 前言 因为电脑google浏览器自动 ...

  3. Git的纯命令操作,Install,Clone , Commit,Push,Pull,版本回退,撤销更新,分支的创建/切换/更新/提交/合并,代码冲突...

    Git的纯命令操作,Install,Clone , Commit,Push,Pull,版本回退,撤销更新,分支的创建/切换/更新/提交/合并,代码冲突 这篇是接着上篇分布式版本库--Windows下G ...

  4. android怎么做版本检测,android 实现检测版本,下载apk更新(附源码)

    其实这不是什么难事了,都有热更新的技术了,只是记录一下,大神勿嘲笑. 先说下思路,首先要有更新的接口,只要进入app,就监测一下接口,是否更新,更新的话,检测本地版本是否低于接口返回的版本,低的话,就 ...

  5. 珍贵!分享!全国各省市最全乡镇、街道行政区划边界shp矢量数据+wgs84坐标系+2021年7月最新获取+2018年更新数据

    珍贵!全网独一份!全国各省市最全乡镇.街道行政区划边界shp矢量数据+wgs84坐标系+2021年7月最新获取+2018年更新数据 该数据为2021年7月获取,数据为2018年版本数据,官方未更新 温 ...

  6. php中节点值怎么获取,php – 节点更新:获取旧值

    我正在使用nodeapi更新更新节点,但是我需要在幕后进行更多操作,这需要我知道字段的旧值/是否有一种方法可以在覆盖之前获取字段的旧值. 最佳答案 编辑 hook_nodeapi()只对新的$node ...

  7. postgresql获取表最后更新时间(通过触发器将时间写入另外一张表)

    通过触发器方式获取表最后更新时间,并将时间信息写入到另外一张表 一.创建测试表和表记录更新时间表 CREATE TABLE weather( city varchar(80), temp_lo int ...

  8. Windows10 解决“装了 .NET Framework 4.5.2/4.6.1/4.7.1等等任何版本 或版本更高的更新”问题

    Windows10 解决"装了 .NET Framework 4.5.2/4.6.1/4.7.1等等任何版本 或版本更高的更新"问题 参考文章: (1)Windows10 解决&q ...

  9. 通过js获取谷歌浏览器版本

    // 获取谷歌浏览器版本的方法 function getChromeVersion() {var arr = navigator.userAgent.split(' '); var chromeVer ...

  10. API v3版微信支付平台证书获取与自动更新

    API v3版微信支付平台证书获取与自动更新 关于微信证书 获取平台证书 证书自动更新 首次下载证书 关于微信证书 微信支付开发有两份证书. ♥ 商户证书:商户平台证书私钥可以对请求进行签名,微信服务 ...

最新文章

  1. 墨菲定律:都是温度惹的祸
  2. 使用pdb调试python
  3. 常考数据结构和算法:链表中环的入口节点
  4. 基于深度卷积神经网络的目标检测研究综述
  5. xbox360fsd更新游戏封面_游戏类短视频创作指南
  6. Linux学习笔记-使用管道通信实现cat /etc/passwd | grep root这条命令
  7. Spring @AspectJ 实现AOP 入门例子(转)
  8. 2021-2025年中国制药行业MR报告软件行业市场供需与战略研究报告
  9. 雷观(二):当今时代最须要6项能力
  10. 基于Arduino的智能避障小车
  11. 谷歌学术搜索 2019
  12. linux wipe命令,如何使用wipefs命令擦除磁盘上的签名
  13. 007-绘制三角函数图像(一)
  14. 专访递归神经网络之父:AI下一轮革命核心是“人工好奇心”
  15. Orcle 12c Sharding---Sharded和Duplicated表介绍
  16. 关闭微信小程序电脑端的位置定位
  17. 这家公司用AI生成颠覆内容创作!
  18. 购买服务器和域名到搭建网站
  19. Shell中判断字符串是否为数字的6种方法
  20. simulink 储能AGC二次调频,储能采用下垂控制,自适应控制,系统其他机组为水电机组和风电机组,储能出力受ACE变化改变。

热门文章

  1. 计算机整理碎片有用吗,电脑磁盘碎片整理有什么用?需要经常整理吗?
  2. 价值4800的电销语音机器人完整版源码+文字教程
  3. 2020计算机保研夏令营网信中心华师大浙软面经
  4. 惠普电脑u盘重装系统步骤_惠普笔记本系统重装|惠普笔记本电脑U盘重装系统步骤教程...
  5. 使用Java解牛客网六一儿童节
  6. nn.functional.normalize
  7. Vasya the Hipster - CodeForces - 581A
  8. 月老在线牵盲盒+交友盲盒+一元交友+小纸条盲盒+交友匹配+同城交友小程序源码
  9. Java核心知识点精心整理(全是精华)
  10. 【教3妹学算法-每日3题(2)】分割字符串的最大得分