环境:Windows selenium 3.141.0 Python 3.8.10 Chrome 90.0.4430.212 ChromeDriver 90.0.4430.24

最近发现执行完Selenium脚本后,在个人的Temp目录下会有大量的临时文件夹。类似下面这样









C:\Users\Administrator\AppData\Local\Temp\chrome_url_fetcher_19412_239410040

C:\Users\Administrator\AppData\Local\Temp\chrome_BITS_16176_1439591952

C:\Users\Administrator\AppData\Local\Temp\scoped_dir7672_2014177749

经过查阅,chrome_url_fetcher和chrome_BITS文件夹下的都在下载某个插件。scoped_dir的则是因为启动webdriver的时候没有指定user data目录,所以在Temp目录下产生了一个临时的配置文件目录。正常来说,当执行完后用driver.quit()应该会退出的,但原先的代码执行时在还没到driver.quit()这一步时就已经失败退出,所以Temp目录下的文件没被删除。

改进:

  1. 使用conftest和yield,将webdriver的初始化,登录和关闭浏览器定义为function级别的fixture

    原代码:
def test_example():
driver = Driver().openBrowser()
login_page = LoginPage(driver)
login_page.login() home_page = HomePage(driver)
home_page.open_inventory() driver.quit()

新代码

conftest.py

@pytest.fixture(scope="function")
def driver():
# 前置
driver = Driver().openBrowser()
login_page = LoginPage(driver)
login_page.login()
print("初始化完成...")
yield driver
# 后置
driver.quit()
print("关闭浏览器...")
def test_example(driver):
home_page = HomePage(driver)
home_page.open_inventory()
  1. 禁止浏览器插件更新 disable-component-update
class Driver:
def openBrowser(self):
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument("start-maximized")
chrome_options.add_argument("--disable-component-update")
driver = webdriver.Chrome(options=chrome_options)
return driver

执行Selenium后在temp目录下产生临时文件scoped_dir chrome_BITS的更多相关文章

  1. IDEA编译项目后,target目录下的jsp文件不更新

    tomcat目录说明 先来看一下tomcat的目录: |-bin |-conf |-lib |-logs |-temp |-webapps |-work tomcat 的核心是servlet容器,叫 ...

  2. 在JQuery和Js中,如何让ajax执行完后再继续往下执行 async

    async (默认: true) 默认设置下,所有请求均为异步请求.如果需要发送同步请求,请将此选项设置为 false.注意,同步请求将锁住浏览器,用户其它操作必须等待请求完成才可以执行. var t ...

  3. 如何让ajax执行完后再继续往下执行

    $.ajax加上参数async: false, false代表同步请求,true代表异步(默认)

  4. 删除 Linux /tmp 目录下的临时文件

    使用 tmpreaper How to install and use tmpreaper How to Remove Files Older than N days using tmpreaper ...

  5. IDEA中读取 resource目录下文件

    1. 资源文件 2. 加载文件 public void test() { try { System.out.println("begin test"); String filepa ...

  6. eclipse maven项目如何将所有的jar包复制到lib目录下?

      1.情景展示 我们知道,maven项目的jar包并不存在于项目当中,项目所需的jar包都保存在本地仓库中,如果本地仓库没有,会从配置的中央仓库下载,如果中央仓库也没有就会报错: 如上图所示,我想将 ...

  7. 用Java代码列出一个目录下所有的文件

    1.File类 File类在java.io.File包中,所以要导入这个包. File类中用到的方法: boolean isDirectory()       测试此抽象路径名表示的文件是否是个目录 ...

  8. shell程序---编译目录下全部.c或.cpp文件

    今天大波又提起昨天我说的那个程序.这样的,起初我想写一个makefile,每次写完新代码后一键编译目录下所有的.cpp文件. 原因是用makefile的话,每次要把目标文件加紧去才能编译.感觉不方便. ...

  9. 工程代码不编译src的java目录下的xml文件问题及解决

    IDEA的maven项目中,默认源代码目录下(src/main/java目录)的xml等资源文件并不会在编译的时候一块打包进classes文件夹,而是直接舍弃掉.如果使用的是Eclipse,Eclip ...

随机推荐

  1. 机器人走方格-51nod解题

    M * N的方格,一个机器人从左上走到右下,只能向右或向下走. 有多少种不同的走法? 注意:给定 M, N 是一个正整数. 示例 输入: 1行, 2个数M,N,中间用空格隔开.(2 <= m,n ...

  2. OO第一单元总结——求导

    一.基于度量分析程序结构 (一)第一次作业 (1)设计思路 本次作业只涉及到简单幂函数通过加减运算而复合而成的函数,因此笔者自然的把函数分成了函数本体以及单个的项两个部分,在笔者的设计中两个类的功能如 ...

  3. sublime text 快捷键的使用大全

    多行选择后按下ctrl+/ 选择类 Ctrl+D 选中光标所占的文本,继续操作则会选中下一个相同的文本. Alt+F3 选中文本按下快捷键,即可一次性选择全部的相同文本进行同时编辑.举个栗子:快速选中 ...

  4. 查找和定位Android应用的按钮点击事件的代码位置基于Xposed Hook实现

    本文博客地址:https://blog.csdn.net/QQ1084283172/article/details/80956455 在进行Android程序的逆向分析的时候,经常需要通过Androi ...

  5. 神经网络与机器学习 笔记—反向传播算法(BP)

    先看下面信号流图,L=2和M0=M1=M2=M3=3的情况,上面是前向通过,下面部分是反向通过. 1.初始化.假设没有先验知识可用,可以以一个一致分布来随机的挑选突触权值和阈值,这个分布选择为均值等于 ...

  6. 【JavaScript】Leetcode每日一题-组合总和4

    [JavaScript]Leetcode每日一题-组合总和4 [题目描述] 给你一个由 不同 整数组成的数组 nums ,和一个目标整数 target .请你从 nums 中找出并返回总和为 targ ...

  7. 【c#】 使用Directory.GetFiles获取局域网中任意电脑指定文件夹下的文件

    本文为老魏原创,如需转载请留言 格式如下: // 获取IP地址为10.172.10.167下D盘下railway下的所有文件 string[] picArray = Directory.GetFile ...

  8. spring.framework 版本从4.1.6.RELEASE升到5.0.20.RELEASE

    将org.springframework 使用到的jar 版本号改为5.0.20.RELEASE后运行会报错: Servlet.service() for servlet [springmvc] in ...

  9. 2020.12.20vj补题

    A - Insomnia cure 题意:一共s只龙,每隔k,l,m,n只龙就会受伤,问这s只龙有多少龙是受伤的 思路:看起来题目范围并不是很多,直接进行循环判断 代码: 1 #include< ...

  10. pytest用法---学习篇1

    一.pytest运行规则: pytest可以收集所有以test_*.py文件,Test开头的类,和以test_开头的函数和方法,都能识别成测试用例. 当然也可以改变这个的识别规则 二.常用参数 -k ...