selenium不自动关闭chrome,selenium hello world

selenium不自动关闭chrome

用visual studio的话,右键,在终端运行。

python 复制代码
from selenium import webdriver
 
options = webdriver.ChromeOptions()
options.add_experimental_option("detach", True)
driver = webdriver.Chrome(options=options)
url = 'https://blog.csdn.net/longwo888'
driver.get(url)

代码运行结果:

代码1:chrome浏览器不会自动关闭

from selenium import webdriver

dr = webdriver.Chrome()

dr.get('https://www.baidu.com/')

代码2:chrome浏览器会自动关闭

from selenium import webdriver

def run():

dr = webdriver.Chrome()

dr.get('https://www.baidu.com/')

if name == 'main ':

run()

代码3:chrome浏览器不会自动关闭

from selenium import webdriver

def run():

global dr

dr = webdriver.Chrome()

dr.get('https://www.baidu.com/')

if name == 'main ':

run()

以上三种代码统一换成Firefox浏览器的话,均不会自动关闭浏览器。

分析原因:代码2运行完之所以会关闭chrome浏览器,是因为对应chrome浏览器厂家提供的浏览器源生驱动文件(chromedriver.exe)自身逻辑设置引起的,方法运行完会自动关闭回收方法中定义的局部变量dr。如果不想让自动关闭方法中的局部变量对象dr,可以像代码3那样在变量名称前加个global声明下这是全局变量dr,或者把dr的定义像代码1那样定义到方法体的外面相当于全局变量。

二、问题解决

selenium版本太高了,默认安装的是最新版本,将版本降低后,就不会自动关闭浏览器了(我原本安装的是4.8.2,卸载装了4.0.0)

卸载selenium:pip3 uninstall selenium

安装指定版本的selenium:pip3 install selenium==4.0.0 -i https://pypi.tuna.tsinghua.edu.cn/simple

相关推荐
Cd ...9 小时前
记录两种好用常用的xpath定位方式
selenium·测试工具·自动化
极智-9969 小时前
【Chrome谷歌浏览器】官方下载方式?【图文详解】电脑版下载?正版安全下载?最新版下载?
chrome·chrome谷歌浏览器·chrome下载安装·官方下载方式·chrome谷歌浏览器下载安装·chrome浏览器官网·chrome官网下载安装
测试老哥1 天前
如何编写好测试用例?
自动化测试·软件测试·python·功能测试·测试工具·职场和发展·测试用例
AALoveTouch1 天前
大麦网抢票:基于Wireshark协议分析
网络·测试工具·wireshark
AI浩1 天前
Redis中的RPOP、BRPOP、LPOP 和 BLPOP
数据库·chrome·redis
Run Freely9371 天前
Postman 请求前置脚本
测试工具·postman
我的xiaodoujiao1 天前
从 0 到 1 搭建 Python 语言 Web UI自动化测试学习系列 15--二次开发--封装公共方法 3
python·学习·测试工具
九皇叔叔1 天前
Linux Shell 中的 $():命令替换的核心用法
linux·运维·chrome
程序员小远2 天前
银行测试:第三方支付平台业务流,功能/性能/安全测试方法
自动化测试·软件测试·python·功能测试·测试工具·性能测试·安全性测试
shan~~2 天前
linux达梦数据库操作
linux·数据库·chrome