Selenium-webdriver_manager判断是否已经下载过驱动(复用缓存驱动)

1,谷歌浏览器默认位置

在这里插入图片描述
2,ChromeDriverManager 下载的驱动位置 其中admin为机器的用户名
在这里插入图片描述

    def installDriver(self):"""判断是否需要下载driver""""""找到本机谷歌浏览器版本""""""C:\Program Files\Google\Chrome\Application\122.0.6261.112   找到名字为版本号的文件夹"""dirPath=r'C:\Program Files\Google\Chrome\Application'version='122.0.6261.112'for item in os.listdir(dirPath):if re.search(r'\d{3}.\d.\d{4}.\d{3}',item):version=re.search(r'\d{3}.\d.\d{4}.\d{3}',item).group(0)breakusername = getpass.getuser()  #获取本机driver_path = f"""C:\\Users\\{username}\\.wdm\\drivers\\chromedriver\\win64\\{version}\\chromedriver-win32\\chromedriver.exe"""if not os.path.exists(driver_path):driver_path = ChromeDriverManager().install()return driver_pathdef createDriver(self):driver_path=self.installDriver()op = webdriver.ChromeOptions()# op.add_argument('headless')op.add_argument('disable-infobars')op.add_argument('--ignore-certificate-errors')op.add_argument('--allow-insecure-localhost')op.add_argument('-ignore -ssl-errors')op.add_experimental_option('excludeSwitches', ['enable-automation'])  # 以键值对的形式加入参数prefs = {"profile.default_content_settings.popups": 1}op.add_experimental_option('prefs', prefs)script = '''Object.defineProperty(navigator, 'webdriver', {get: () => undefined})'''self.driver = webdriver.Chrome(service=Service(driver_path))self.driver.maximize_window()self.driver.execute_cdp_cmd("Page.addScriptToEvaluateOnNewDocument", {"source": script})self.driver.execute_script(script)script = '''Object.defineProperty(navigator, 'plugins', {get: () => 2})'''self.driver.execute_cdp_cmd("Page.addScriptToEvaluateOnNewDocument", {"source": script})self.driver.set_page_load_timeout(60)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/751857.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【学习心得】Python数据分析的基本思路

一、什么是数据分析? 数据分析是指通过一些方法,对一些数据进行分析,从中提取出有价值的信息并形成结论进行展示。 (1)一些方法 数学和统计学方法:例如回归分析、聚类分析、主成分分析、时间序列分析等&a…

机器人路径规划:基于改进型A*算法的机器人路径规划(提供Python代码)

一、A*算法介绍 A*算法最早可追溯到1968年,在IEEE Transactions on Systems Science and Cybernetics中的论文A Formal Basis for the Heuristic Determination of Minimum Cost Paths中首次提出。 https://blog.csdn.net/weixin_46204734/article/details/1367905…

Windows 网络质量测试

Windows 网络质量测试 References 保证网络稳定性,建议最大数据包延迟 200ms 以内,数据包最大和最小延迟差 100ms 以内,丢包率最好不丢包或 5% 以内。 ping www.baidu.com -t 调出 运行 (快捷键 Win R),输入 cmd,pi…

黑马程序员——javase进阶——day08——异常,多线程,Lambda,Stream,File,递归

目录: 异常的概述 什么是异常异常的存在的形式程序中异常产生后,是如何处理的异常的分类异常的处理方式 JVM处理异常的方式手动处理异常方式 声明异常抛出异常捕获异常Throwable的成员方法异常练习自定义异常 概述实现步骤自定义异常注意多线程入门 多线…

文献阅读笔记:SAM大模型(Segment Anything)

文献阅读笔记:SAM大模型(Segment Anything) 摘要Abstract1. SAM大模型1.1 文献摘要1.2 引言1.3 SAM大模型网络结构1.4 实验1.4.1 零样本单点有效掩码评估1.4.2 零样本边缘检测1.4.3 零样本对象提议1.4.4 零样本通过文本提示预测mask 1.5 SAM模…

27-2 文件上传漏洞 - 前端绕过

环境准备:构建完善的安全渗透测试环境:推荐工具、资源和下载链接_渗透测试靶机下载-CSDN博客 前端绕过思路 - 禁用 JavaScript: 背景: 当前开发行业大多采用前后端分离模式,后端使用多种开发语言如 PHP、Java 等,而前端主要使用 JavaScript(JS)。因此,禁用 JavaScrip…

基于YOLOv8/YOLOv7/YOLOv6/YOLOv5的火焰与烟雾检测系统详解(深度学习模型+UI界面升级版+训练数据集)

摘要:本研究详细介绍了一种集成了最新YOLOv8算法的火焰与烟雾检测系统,并与YOLOv7、YOLOv6、YOLOv5等早期算法进行性能评估对比。该系统能够在包括图像、视频文件、实时视频流及批量文件中准确识别火焰与烟雾。文章深入探讨了YOLOv8算法的原理&#xff0…

误删电脑C盘要重装系统吗 误删电脑C盘文件怎么恢复 误删c盘系统文件怎么修复 不小心删除C盘的东西恢复

C盘通常是操作系统(如Windows)的默认安装目录。它包含了操作系统的核心文件、驱动程序及系统所需的各种支持文件。这些文件对于计算机的正常运行至关重要。如果我们不小心将C盘的重要文件删除,会导致应用无法打开。本篇文章,我们将学习误删电脑C盘要重装…

面试算法-39-删除链表的倒数第 N 个结点

题目 给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。 示例 1: 输入:head [1,2,3,4,5], n 2 输出:[1,2,3,5] 解 class Solution {public ListNode removeNthFromEnd(ListNode head, int n) {L…

基于支持向量机SVM的沉降预测,SVM详细原理,Libsvm详解

目录 支持向量机SVM的详细原理 SVM的定义 SVM理论 Libsvm工具箱详解 简介 参数说明 易错及常见问题 完整代码和数据下载链接:基于支持向量机SVM的沉降预测资源-CSDN文库 https://download.csdn.net/download/abc991835105/88947544 SVM应用实例,基于支持向量机SVM的沉降预测…

指挥航空公司架次与延误率占比

打开前端Vue项目kongguan_web&#xff0c;创建前端 src/components/Delay.vue 页面&#xff0c;并添加柱状图与折线图叠加&#xff0c;设置双Y轴。 页面div设计&#xff0c;代码如下&#xff1a; <template><div><div class"home"><div id&qu…

关于volatile与指令重排序的探讨

写在开头 在之前的学习我们了解到&#xff0c;为了充分利用缓存&#xff0c;提高程序的执行速度&#xff0c;编译器在底层执行的时候&#xff0c;会进行指令重排序的优化操作&#xff0c;但这种优化&#xff0c;在有些时候会带来 有序性 的问题。 那何为有序性呢&#xff1f;…

Halcon OCR文字识别

1、OCR文字识别 OCR&#xff08;Optical Character Recognition&#xff0c;光学字符识别&#xff09;工具对图像中的文字进行识别和分析。 FontFile : Universal_0-9_NoRej dev_update_window (off) read_image (bottle, bottle2) get_image_size (bottle, Width, Height) dev…

JavaScript 中实现请求并发控制

文章目录 浏览器并发请求限制数&#xff08;图&#xff09;实现代码三方插件 假设有 30 个待办任务要执行&#xff0c;而我们希望限制同时执行的任务个数&#xff0c;即最多只有 3 个任务能同时执行。当正在执行任务列表 中的任何 1 个任务完成后&#xff0c;程序会自动从 待办…

VMware安装Ubuntu 18.04.2

下载Ubuntu映像 下载地址&#xff1a;http://old-releases.ubuntu.com/releases/18.04/ 下载名称&#xff1a; ubuntu-18.04.2-desktop-amd64.iso 清华镜像站&#xff1a;https://mirrors.tuna.tsinghua.edu.cn/ubuntu-releases/ 阿里云镜像站&#xff1a;https://mirrors.ali…

python 统计中国观鸟记录中心官网已观测的鸟类种类

python 统计中国观鸟记录中心官网已观测的鸟类种类 中国观鸟记录中心网站&#xff1a;https://www.birdreport.cn/ 先下载官网 Excel 文件 文件放置目录如下&#xff1a; home dataset xxx.xlsxxxx.xlsxxxx.xlsx Excelgrep.py &#xff08;进行文件内容提取的程序&#xff…

关于Ubuntu虚拟机突然上不了网的问题

今天刚重新把Ubuntu虚拟机下回来准备大干一场&#xff0c;结果去吃饭回来虚拟机就上不去网了&#xff0c;具体体现为右上角没有网络的图标&#xff0c;下图是有网络的情况&#xff0c;废话不多说&#xff0c;直接给出解决方案&#xff1a;博客在此 我就是运行了这三行代码就成功…

设计模式 — — 单例模式

一、是什么 单例模式只会在全局作用域下创建一次实例对象&#xff0c;让所有需要调用的地方都共享这一单例对象 二、实现 // 单例构造函数 function CreateSingleton (name) {this.name name;this.getName(); };// 获取实例的名字 CreateSingleton.prototype.getName func…

✅技术社区—跨域问题及解决方案

一、什么是跨域、为什么会跨域&#xff1f; 我们把问题分解 谁出现的跨域&#xff1f; 》 浏览器&#xff01; 为何出现&#xff1f; 》 同源策略 什么是同源策略&#xff1f; 根据百度百科 同源策略/SOP&#xff08;Same origin policy&#xff09;是一种约定&#xff0…

Linux 时间系统调用

UNIX及LinuxQ的时间系统是由「新纪元时间」Epoch开始计算起。Epoch是指定为1970年1月1日凌晨零点零分零秒&#xff0c;格林威治时间。目前大部份的UNX系统都是用32位来记录时间&#xff0c;正值表示为1970以后&#xff0c;负值则表示1970年以前。 对于当前时间到Epoch 我们用两…