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

相关推荐
淼淼爱喝水15 小时前
Ansible 基础模块实战作业详细教程
chrome·github·ansible
williamdsy16 小时前
专业的办公家具解决方案
测试工具
williamdsy17 小时前
专业的办公家具哪家技术强
测试工具
天***885217 小时前
系统自动启动管理,文件粉碎、软件卸载、WIFI密码查看、硬盘测速、系统优化等
chrome
williamdsy19 小时前
好用的办公家具源头厂家
测试工具
Free Tester1 天前
手动访问网页用的chrome,和使用命令行指定端口启动的chrome,浏览器指纹是否一致
前端·chrome
ShineWinsu1 天前
Chrome安全机制深度解析技术文章
前端·chrome·安全
程序员 沐阳1 天前
从内容管控到硬件隔离:Chrome 安全防护体系深度拆解
前端·chrome·安全
UTP协同自动化测试1 天前
智能家居中控屏测试:触摸屏操作 + I2C 读取传感器 + UART 与子设备通信 + GPIO 控制
功能测试·单片机·嵌入式硬件·测试工具·智能家居
淼淼爱喝水1 天前
Ansible 常用文件模块详解(copy、file、fetch)
chrome·git·github