首页 > 其他分享 >pytest中使用selenium代码运行完后浏览器自动关闭

pytest中使用selenium代码运行完后浏览器自动关闭

时间:2024-10-26 20:44:46浏览次数:5  
标签:.__ 浏览器 完后 selenium driver 代码运行 关闭 options cls

遇到的问题

在用selenium做web自动化测试时,测试用例执行完后,自动关闭浏览器

if cls.__driver is not None and cls.__switch is False:
    cls.__driver.quit()
    cls.__driver = None

在写代码的时候发现,就算设置了前后置,并且添加了判断已经创建了浏览器驱动实例,并且switch标记为False才执行关闭操作,通过调试发现,就算跳过了这个判断,浏览器还是会自动关闭,运行窗口没有任何提示。

调试后发现,原来是WebDriver的机制问题。默认情况下,当 WebDriver 会话结束时,浏览器窗口会自动关闭。通过设置 "detach" 选项为 True,可以防止这种情况发生。

    def get_driver(cls):
        if cls.__driver is None:
            options = webdriver.ChromeOptions()
            options.add_experimental_option('detach', True)
            cls.__driver = webdriver.Chrome(options=options)
            cls.__driver.maximize_window()
            cls.__driver.implicitly_wait(10)
        return cls.__driver

标签:.__,浏览器,完后,selenium,driver,代码运行,关闭,options,cls
From: https://www.cnblogs.com/NovLeo/p/18504468

相关文章

  • python实战项目47:Selenium采集百度股市通数据
    python实战项目47:Selenium采集百度股市通数据一、思路分析二、完整代码一、思路分析这里以获取百度股市通股评下的投票数据为例,页面中的其他数据同理。由于此页面数据是js动态加载的,所以采用Selenium获取数据。思路很简单,通过Selenium打开页面,然后定位到“股评”......
  • 使用Selenium时,如何模拟正常用户行为?
    Selenium作为自动化测试和网页数据抓取的利器,被广泛应用于自动化网页交互、爬虫开发等领域。然而,随着网站反爬虫技术的不断升级,简单的自动化脚本很容易被识别和阻止。因此,模拟正常用户行为,降低被检测的风险,成为Selenium使用者必须掌握的技能。本文将详细介绍如何使用Seleni......
  • selenium单例模式下 docker-chrome 多线程并发代码
    最近需要写爬虫,在解决docker-standalone-chrome发现只能有一个chrome被执行。所以写了这个多线程并发控制类来管理。当模板记录下。#!/usr/bin/envpython3importthreadingimporttracebackfromloguruimportloggerfromseleniumimportwebdriverfromselenium.comm......
  • [Python] Selenium监控网络请求
      Selenium监控网络有两种方式,第一种使用代理,第二张是使用CDP(ChromeDevToolsProtocol)协议,下面直接进入主题分别介绍如何使用代理和CDP协议监控网络请求。  一、使用Selenium-Wire设置代理拦截处理请求。  Selenium-Wire是基于Selenium开发的抓包工具,基本使用方式如下:fr......
  • 关于selenium 最近的更新记录
    1、导入元素操作方式有所变动,故导入的内容也要变更:fromselenium.webdriver.common.byimportBy2、获取元素的语句语句:driver.find_element(By.操作方式,"值")如获取ID:driver.find_element(By.ID,"值")获取类名:driver.find_element(By.CLASS_NAME,"值")获取CSS样式:driver......
  • selenium执行页面滚动无效
    起因:​ 今天有个测试活动,需要记录一界面的状态,计划每10分钟截图记录。由于网页有失效时间,便考虑使用selenium定时登录,去目标页面,目标位置执行截图。问题:​ 在进入页面后,需滚动页面到最低部才能看到需要的数据图表。但是进入页面后,执行模拟滚动时,时常会无效。网上各种方法都尝......
  • 桌面软件/exe程序软件自动化大宝剑--lackey之二次封装以及selenium模仿
    1#lackey二次封装23classlackeyAtion(object):45#初始化,有需要再加6def__init__(self):7self.lackey=lackey.Screen(0)8self.lackey.setAutoWaitTimeout(30)910#截屏需要保存路径,截图的名字11de......
  • python+selenium+pycharm自动化环境搭建
    一、python环境搭建:工具及驱动:通过百度网盘分享的文件:自动化学习链接:https://pan.baidu.com/s/1_-KX_s1WeLBa7UV3y0H3zQ提取码:m8nx1.python下载地址:官网下载地址:https://www.python.org/572.根据自己的电脑环境下载安装即可;3.环境变量配置:将D:\python和D:\python\Script......
  • Selenium 进阶技巧:实现 Web 端的鼠标操作功能
    此文章来源于项目官方公众号:“AirtestProject”版权声明:允许转载,但转载必须保留原链接;请勿用作商业或者非法用途一、前言大家在做selenium测试时,是否会遇到在网页上需要执行一些鼠标操作,如右键选择一些设置,或者双击点赞,双击放到屏幕等等,但是在日常使用中还是习惯使用selenium......
  • selenium登录B站,实现验证码识别登录
    Selenium+超级鹰登录B站需要使用到的包seleniumtimechaojiyingimporttimefromchaojiyingimportChaojiying_Clientfromselenium.webdriverimportChromefromselenium.webdriverimportActionChains注意,如果没有使用过超级鹰的经验可以先看一下开发文档,下......