python selenium chrome114版本之后环境配置和携带缓存打开chrome

尽力局

    • chrome驱动环境配置
    • chrome打开带缓存
      • 设置待缓存打开
      • 自动关闭浏览器
      • 自动关闭浏览器弹窗
    • 最终代码
      • 找资料难啊
      • 最终效果代码
    • 依赖包和生成依赖包方法
    • 关闭谷歌升级

chrome驱动环境配置

网上找到的资料,我现在安装的是120版本的,这个资料是可行的。比较简单
Selenium安装WebDriver最新Chrome驱动(含116/117/118/119)

114之前的版本驱动地址

chrome打开带缓存

说明:这种启动浏览器的方式是相当于手动打开谷歌,带缓存信息

设置待缓存打开

首先查看谷歌信息
chrome://version/
在这里插入图片描述
注意这里目录到User Data这就可以了。后面那个不要写进来,空格也不要去掉
executable_path=chromedriver_path这个是驱动地址,环境配置里面会说这是干什么的

chrome_data_path = r'C:\Users\Cassie\AppData\Local\Google\Chrome\User Data'
options = webdriver.ChromeOptions()
options.add_argument('--user-data-dir=' + chrome_data_path)
driver = webdriver.Chrome(executable_path=chromedriver_path, options=options)

自动关闭浏览器

说明:这种打开方式需要把现有的谷歌关闭才可以不然会报错

   ## 杀掉谷歌进程,防止报错os.system('taskkill /im chromedriver.exe /F')os.system('taskkill /im chrome.exe /F')

出现这些提示不用管
在这里插入图片描述

自动关闭浏览器弹窗

这种关闭谷歌之后再次打开会出现这个弹窗,这和网上的那些关弹窗的方法不是一个东西,需要修改配置文件才可以
在这里插入图片描述
这里有个大佬的博客解决了这个问题
Python阻止要恢复页面吗/Chrome未正确关闭弹窗

最终代码

找资料难啊

在网上各种查资料很费劲,找了很久才找到有用的信息,其中在带缓存打开的时候一直失败,过了一段时间发现突然好了没改代码。这是pycharm的bug,清除下它的缓存(我这个是2019版本的,新版本估计不一样,但是也是清除缓存)
在这里插入图片描述
在这里插入图片描述

最终效果代码

我这边实现了2种启动浏览器的方式,一种是普通的不带缓存啥也没有,一种是带缓存的
driver_.py

import json
import osfrom selenium import webdriverchromedriver_path = r"C:\Program Files\Google\Chrome\Application\chromedriver.exe"
chrome_data_path = r'C:\Users\Cassie\AppData\Local\Google\Chrome\User Data'def set_exit_normal():# 获取配置文件路径preferences_path = os.getenv("LOCALAPPDATA") + r'\Google\Chrome\User Data\Default\Preferences'# 读取配置文件with open(preferences_path, mode='r', encoding='utf8') as pf:preferences_file_text = pf.read()# 配置文件文本转jsonpreferences_file_json = json.loads(preferences_file_text)# 修改退出状态为正常preferences_file_json['profile']['exit_type'] = 'Normal'# 配置好的json转回文本preferences_file_text = json.dumps(preferences_file_json, ensure_ascii=False, separators=(',', ':'))# 写入配置文件with open(preferences_path, mode='w', encoding='utf8') as pf:pf.write(preferences_file_text)def kill_chrome():#杀掉前修改下配置,避免弹出chromeset_exit_normal()## 杀掉谷歌进程,防止报错os.system('taskkill /im chromedriver.exe /F')os.system('taskkill /im chrome.exe /F')def drivers(cache=''):if cache == '':driver = webdriver.Chrome(chromedriver_path)return driverelse:options = webdriver.ChromeOptions()options.add_argument('--user-data-dir=' + chrome_data_path)driver = webdriver.Chrome(executable_path=chromedriver_path, options=options)return driver# standard_driver=drivers()if __name__ == '__main__':pass
from time import sleep
from driver_ import drivers, kill_chrometry:driver = drivers('11')
except:kill_chrome()driver = drivers('11')sleep(2)
driver.get('https://blog.csdn.net/aaaaaaaaanjjj')

依赖包和生成依赖包方法

python是3.7,浏览器版本120
在这里插入图片描述

关闭谷歌升级

每次升级还是挺费劲的,先关掉升级吧
关闭谷歌自动升级

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

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

相关文章

计算机网络:数据链路层(广域网、PPP协议、HDLC协议)

今天又学会了一个知识,加油! 目录 一、广域网 二、PPP协议 1、PPP协议应满足的要求 2、PPP协议无需满足的要求 3、PPP协议的三个组成部分 4、PPP协议的状态图 5、PPP协议的帧格式 三、HDLC协议 1、HDLC的站(主站、从站、复合站&…

AI聊天伴侣的语料采集大揭秘:OpenCV如何轻松识别聊天图片?

最近,负责元宇宙中AI聊天伴侣的语料数据采集,这些数据主要用于AI虚拟角色聊天的训练和测试。虽然语料获取有多种渠道,但由于部分数据涉及隐私,这里就不多说了(感兴趣的朋友可以私聊我)。今天,我…

基于Springboot的任务发布平台设计与实现(源码齐全+调试)

项目描述 临近学期结束,还是毕业设计,你还在做java程序网络编程,期末作业,老师的作业要求觉得大了吗?不知道毕业设计该怎么办?网页功能的数量是否太多?没有合适的类型或系统?等等。你想解决的问题,今天给大家介绍…

深度学习笔记_6经典预训练网络LeNet-18解决FashionMNIST数据集

1、 调用模型库,定义参数,做数据预处理 import numpy as np import torch from torchvision.datasets import FashionMNIST import torchvision.transforms as transforms from torch.utils.data import DataLoader import torch.nn.functional as F im…

Vue学习笔记-Vue3中的customRef

作用 创建一个自定义的ref&#xff0c;并对其依赖项的更新和触发进行显式控制 案例 描述&#xff1a;向输入框中输入内容&#xff0c;在下方延迟1秒展示输入内容 代码&#xff1a; <template><input type"text" v-model"keyword"><h3&…

关于“Python”的核心知识点整理大全24

目录 ​编辑 10.1.6 包含一百万位的大型文件 pi_string.py 10.1.7 圆周率值中包含你的生日吗 10.2 写入文件 10.2.1 写入空文件 write_message.py programming.txt 10.2.2 写入多行 10.2.3 附加到文件 write_message.py programming.txt 10.3 异常 10.3.1 处理 Ze…

数据科学知识库

​ 我的博客是一个技术分享平台&#xff0c;涵盖了机器学习、数据可视化、大数据分析、数学统计学、推荐算法、Linux命令及环境搭建&#xff0c;以及Kafka、Flask、FastAPI、Docker等组件的使用教程。 在这个信息时代&#xff0c;数据已经成为了一种新的资源&#xff0c;而机…

环境搭建及源码运行_java环境搭建_mysql安装

书到用时方恨少、觉知此时要躬行&#xff1b;拥有技术&#xff0c;成就未来&#xff0c;抖音视频教学地址&#xff1a;​​​​​​​​​​​​​​ 1、介绍 MySQL是一个关系型数据库管理系统&#xff0c;由瑞典MySQL AB 公司开发&#xff0c;属于 Oracle旗下产品。MySQL是最…

go原生http开发简易blog(一)项目简介与搭建

文章目录 一、项目简介二、项目搭建前置知识三、首页- - -前端文件与后端结构体定义四、配置文件加载五、构造假数据- - -显示首页内容 代码地址&#xff1a;https://gitee.com/lymgoforIT/goblog 一、项目简介 使用Go原生http开发一个简易的博客系统&#xff0c;包含一下功能…

UE5:Lumen 框架

1.Lumen渲染流程框架 2.Lumen基本概念 2.1 LumenCard & LumenMeshCards LumenMeshCards&#xff1a;一组带有方向性的模型简化代理&#xff0c;视模型复杂度不同可能包含6个及以上数量的LumenCard&#xff1b;用来提供光照采样的位置和方向。 2.2 LumenCardPage & Lu…

Pycharm 如何更改成中文版| Python循环语句| for 和 else 的搭配使用

&#x1f308;write in front&#x1f308; &#x1f9f8;大家好&#xff0c;我是Aileen&#x1f9f8;.希望你看完之后&#xff0c;能对你有所帮助&#xff0c;不足请指正&#xff01;共同学习交流. &#x1f194;本文由Aileen_0v0&#x1f9f8; 原创 CSDN首发&#x1f412; 如…

【Linux】在vim中批量注释与批量取消注释

在vim编辑器中&#xff0c;批量注释和取消注释的操作可以通过进入V-BLOCK模式、选择要注释或取消注释的内容、输入注释符号或选中已有的注释符号和按键完成。这些操作可以大大提高代码或文本的编写和修改效率&#xff0c;是vim编辑器中常用的操作之一。 1.在vim中批量注释的步…

常用网安渗透工具及命令(扫目录、解密爆破、漏洞信息搜索)

目录 dirsearch&#xff1a; dirmap&#xff1a; 输入目标 文件读取 ciphey&#xff08;很强的一个自动解密工具&#xff09;&#xff1a; john(破解密码)&#xff1a; whatweb指纹识别&#xff1a; searchsploit&#xff1a; 例1&#xff1a; 例2&#xff1a; 例3&…

<JavaEE> 网络编程 -- 网络通信基础(协议和协议分层、数据封装和分用)

目录 一、IP地址 1&#xff09;IP地址的概念 2&#xff09;IP地址的格式 二、端口号 1&#xff09;端口号的概念 2&#xff09;端口号的格式 3&#xff09;什么是知名端口号&#xff1f; 三、协议 1&#xff09;协议的概念 2&#xff09;协议的作用 3&#xff09;TC…

【idea】解决sprintboot项目创建遇到的问题

目录 一、报错Plugin ‘org.springframework.boot:spring-boot-maven-plugin:‘ not found 二、报错java: 错误: 无效的源发行版&#xff1a;17 三、java: 无法访问org.springframework.web.bind.annotation.CrossOrigin 四、整合mybatis的时候&#xff0c;报java.lang.Ill…

人工智能中的核心概念

1 概述 人工智能英文缩写为AI&#xff0c;是一种由人制造出来的机器&#xff0c;该机器可以模仿人的思想和行为&#xff0c;从而体现出一种智能的反应。 人工智能的产业链分为基础层、技术层、应用层三个层次。 基础层包括&#xff1a;芯片、大数据、算法系统、网络等多项基础…

基于Tkinter和OpenCV的目标检测程序源码+权重文件,实现摄像头和视频文件的实时目标检测采用YOLOv8模型进行目标检测

基于Tkinter和OpenCV的目标检测程序源码权重文件&#xff0c;实现摄像头和视频文件的实时目标检测采用YOLOv8模型进行目标检测 项目描述 本项目是一个基于Tkinter和OpenCV的目标检测应用程序&#xff0c;实现了摄像头和视频文件的实时目标检测。通过YOLOv8模型进行目标检测&a…

ShuffleNet V1+V2(pytorch)

V1 V1根本思想&#xff1a; 1.GConv替换resnet的普通1*1Conv 2.GConv后加channel shuffle模块 对GConv的不同组进行重新组合。channel_shuffle a是resnet模块&#xff0c;b&#xff0c;c是ShuffleNetV1的block&#xff0c;在V1版中&#xff0c;两模块branch2的第一个1*1卷积…

JavaScript 事件冒泡与捕获机制 --- 带动态图理解

&#xff08;1&#xff09;.事件捕获 从根元素往上传递 --- ---&#xff08;由外到内&#xff09; &#xff08;2&#xff09;.事件冒泡 从元素传递到它的根源素 --- --- &#xff08;由内到外&#xff09; 代码&#xff1a; <!DOCTYPE html> <html lang"en&q…

在 Windows 11/10 上恢复已删除文本文件的 4 种方法

您是否不小心从桌面上删除了文本文件&#xff1f;不用担心。您可以在 Windows 上恢复已删除的文本文件&#xff01; 对于那些有大量工作要做的人来说&#xff0c;便利贴无疑是一种福音。便利贴能够立即记下任何内容并使其可见&#xff0c;而不会占用太多屏幕空间&#xff0c;因…