Selenium4.6版本浏览器自动退出问题
Selenium4.6版本浏览器自动退出问题
代码
from selenium import webdriver
driver = webdriver.Chrome()
driver.get('https://www.baidu.com') # 这一步其实没必要,只是为了演示
现象
打开百度后chrome浏览器就关闭掉了
代码的控制台并无任何报错
正常应该保留的
环境
- python 3.10.8
- pycharm 2021.2.3
- chrome 107.0.5304.122
- chromedriver 107.0.5304.18
- selenium 4.6.1
分析
- 这个问题在之前的版本中几乎没遇到过,这一期的学员很多都反馈有该问题,推测应该是新版本导致的
- python 没有变化,排除
- pycharm 更没有变化(脱离pycharm运行一样报错,排除)
- chrome 更新了
- chromedriver 更新了
- selenium 更新了
尝试1: 分析日志
获取selenium的日志
代码
from selenium import webdriver
driver = webdriver.Chrome(service_args=['--verbose'],service_log_path='selenium.log')
driver.get('https://www.baidu.com')
差异日志: 对比正常的环境有2行比较异常
[1669339280.964][INFO]: [9a850cc416a680214e963aab4064f86b] COMMAND QuitAll {}
[1669339281.111][INFO]: [9a850cc416a680214e963aab4064f86b] RESPONSE QuitAll
不得法
尝试2: stackoverflow
https://stackoverflow.com/questions/74567988/browser-quit-automatically-by-using-selenium-on-chrome
提交到stackoverflow上,有人建议
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.chrome.options import Options options = Options()
options.add_experimental_option("detach", True) driver = webdriver.Chrome(service=Service(<chromedriver.exe path>), options=options)
这是实验性质的option
融合到代码中
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.chrome.options import Options
from selenium import webdriver
options = Options()
options.add_experimental_option("detach", True) driver = webdriver.Chrome(options=options)
driver.get('https://www.baidu.com')
效果是ok的
但以前是ok的,现在这么麻烦,对初学者并不友好
尝试3: 对比分析
对比之前好的环境,发现差异主要是浏览器、驱动和selenium,把浏览器和驱动都同步到最新版本,环境依然是好的,那差异只有selenium版本(有问题的是selenium 4.6.1,好的版本是selenium4.3.0)
降级版本: 如果你是虚拟环境,请注意执行位置
pip uninstall selenium
pip instsall selenium==4.3.0
再次运行代码,也OK了。
感觉是selenium4.6配合chromedriver驱动出现的问题,firefox在selenium4.6的时候没有该问题。
Selenium4.6版本浏览器自动退出问题的更多相关文章
- Visual Studio 2017 本地调试 Chrome浏览器自动退出
在使用VS 2017(15..6 .15.7)对.NET Core MVC应用程序进行本地调试的时候,选择使用Chrome浏览器.但输入中文 就自动关闭Chrome浏览器,随后结束调试.但复制.粘贴中 ...
- DBImport V3.7版本发布及软件稳定性(自动退出问题)解决过程分享
DBImport V3.7介绍: 1:先上图,再介绍亮点功能: 主要的升级功能为: 1:增加(Truncate Table)清表再插入功能: 清掉再插,可以保证两个库的数据一致,自己很喜欢这个功能. ...
- 在CMD下启动vmware、Xshell连接虚拟机以及控制Chrome浏览器自动执行js登录校园网
标题有点长,主要是写个bat出来玩玩, (1)不用每次都手动关闭mysql服务(我不想把它设为手动启动,有强迫症) (2)然后希望每次vmware能自动连上虚拟机 (3)以及每次Xshell都能自动启 ...
- AngularJS开发指南7:AngularJS本地化,国际化,以及兼容IE低版本浏览器
AngularJS本地化,国际化 国际化,简写为i18n,指的是使产品快速适应不同语言和文化. 本地化,简称l10n,是指使产品在特定文化和语言市场中可用. 对开发者来说,国际化一个应用意味着将所有的 ...
- SQL2008安装自动退出
一同事安装sql 2008 然后删除过,后来再也装不上了,安装SQL2008操作执行到安装支持文件的时候就会出现安装过程自动退出的现象. 网上很多人说需要卸载,我看原因不一定是这个,因为根本没有安装成 ...
- 完美解决windows+ngnix+phpcgi自动退出的问题
[摘要]在windows下搭建nginx+php环境时,php-cgi.exe会经常性的自动关闭退出,本文介绍通过使用xxfpm进程管理器管理php-cgi.exe. php-cgi.exe在wind ...
- Webpack 2 视频教程 007 - 配置 WDS 进行浏览器自动刷新
原文发表于我的技术博客 这是我免费发布的高质量超清「Webpack 2 视频教程」. Webpack 作为目前前端开发必备的框架,Webpack 发布了 2.0 版本,此视频就是基于 2.0 的版本讲 ...
- docker 启动 centos 镜像,容器会自动退出
docker启动centos镜像有两种版本可以解决自动退出的问题: 方式一: docker run -d -it [image-ID] /bin/sh 方式二: 在启动脚本里面增加一个执行进程: 1. ...
- Android WebDriver 浏览器自动测试工具介绍
Selenium WebDriver 是浏览器自动测试工具,提供轻量级和优雅的方式来测试web应用.Selenium WebDriver作为Android SDK extra,支持Android 2. ...
- 禁止Chrome浏览器自动升级
对于我们测试人员来说,浏览器自动升级是非常可怕的,浏览器的升级会导致出现各种bug,比如我们常用的Selenium,如果Chrome浏览器自动升级就会导致脚本出错,无法打开浏览器等等情况,对于这种情况 ...
随机推荐
- .Net SemaphoreSlim
看Elsa-core源代码中看到的,Elsa-core中所有保存数据的方法似乎使用同一个Save方法.如下图: 那么为什么要使用这玩意,我还是头一次见这玩意???? 好吧,我承认我自己菜.我自个儿也该 ...
- Jenkins发版通知企业微信机器人
1)开始通知 在Jenkins发版过程的第一步添加下面内容,调用下面脚本实现机器人发版通知(注意脚本路径和传参) ${BUILD_USER}是Jenkins内置变量,执行发布的用户名,需要安装插件-B ...
- kubeedge的云边协同通道
1. CloudHub安全认证流程 2. EdgeHub安全认证流程 3. Edged节点纳管
- Dive into TensorFlow系列(2)- 解析TF核心抽象op算子
本文作者:李杰 TF计算图从逻辑层来讲,由op与tensor构成.op是项点代表计算单元,tensor是边代表op之间流动的数据内容,两者配合以数据流图的形式来表达计算图.那么op对应的物理层实现是什 ...
- i春秋GetFlag
进去是个提示界面,提示我们这是个迷你文件管理系统,我们需要登录然后下载文件再获得flag. 然后我们查看源码,没什么信息,点login进去查看源码,没什么信息 下方出现了一个substr(md5(ca ...
- java - - spring:定时任务
转载:https://www.cnblogs.com/lishupeng/p/7680644.html 开启定时任务: <beans xmlns="http://www.springf ...
- laravel框架 url地址传参
//前端页面 <a title="编辑" onclick="xadmin.open('编辑','{{url("admin/Manager/edit&quo ...
- PyQt5程序打包出错Failed to execute script
出现这种报错一般有两种可能: 1. 该被引入的资源你没有放到 exe 的相对路径 这种错误一般是你直接引入图片或者图标, 而没有放到 打包后的exe的相对路径 2. 加参数 假设 main.py 为程 ...
- 【Day02】Spring Cloud组件的使用--Nacos配置中心、sentinel流量控制、服务网关Gateway、RocketMQ、服务调用链路(Sleuth、zipkin)
今日内容 一.配置中心 1.遗留问题 yml配置,每一次都需要重启项目 需要不重启项目拿到更新的结果 引出:配置中心 选择:Spring Cloud Config组件 / Alibaba的Nacos( ...
- 【大数据面试】【数仓项目】分层:ODS层、DWD层、DWS层、ADS层构成、操作
一.ODS层 1.保持数据原貌,不做任何修改 2.数据压缩:LZO压缩,减少磁盘空间 3.创建的是分区表:可以防止后续的全表扫描 包括 用户行为:string line dt ods_start ...