Chrome浏览器的复用
目录
- 一、那些情况下需要复用浏览器
- 二、复用浏览器前的设置
- 三、复用浏览器的代码
一、那些情况下需要复用浏览器
1.当运行 selenium 自动化时,要求已经登录才能才做。这个时候我们可以提前登录,运行脚本的时候复用已经打开的浏览器。
2.当调试了某个步骤很多的测试用例,前面N-1步已经成功,只需调试第N步。如果从头开始运行脚本,耗时过多,这时我们可以直接复用浏览器只操作第N步。
复用浏览器的特点:
webdriver启动时将不再创建新的浏览器窗口 将运用已打开的浏览器的当前页面,对元素的进行操作 。
二、复用浏览器前的设置
1.把Chrome配置到环境变量PATH里面
方法:找到浏览器图标,右键->属性,把“目标”里面chrome.exe前面的路径配置到PATH里面
2.在通过命令启动远程调试的chrome之前,需要关闭chrome有关的进程,除了chrome浏览器之外,还有chrome后台进程、浏览器插件等
注意:chrome设置-高级-系统,里面有一项设置可以关闭掉再试一下,能解决不少后台进程问题
3.启动命令(需要复用的网页一定要放在最前面)
Windows/Linux命令为:
chrome --remote-debugging-port=9222 (9222为端口号,可换成任意未被占用的端口)
Mac命令为:
Google\ Chrome --remote-debugging-port=9222 (9222为端口号,可换成任意未被占用的端口) (注意命令中间的反斜线)
4.访问浏览器 http://localhost:9222/查看浏览器是否启动,出现类似以下界面表示启动成功
三、复用浏览器的代码
1.定义一个Chrome的选项
chrome_options = Options()
2.设置Chrome的复用地址(复用之前一定要通过命令行启动浏览器:chrome --remote-debugging-port=9222)
chrome_options.debugger_address = “127.0.0.1:9222”
3.创建Chrome复用对象
self.driver = webdriver.Chrome(options=chrome_options)
from time import sleep
from selenium import webdriver
from selenium.webdriver.chrome.options import Optionsclass TestReuse:def setup(self):chrome_options = Options()# 和浏览器打开的调试端口进行通信,浏览器使用chrome --remote-debugging-port=9222 开启调试chrome_options.debugger_address = "127.0.0.1:9222"self.driver = webdriver.Chrome(options=chrome_options)def test_chrome_reuse(self):# 使用已经打开的浏览器(已经成功登录),打开百度首页页,然后进行和用户有关的操作self.driver.get("https://www.baidu.com/")# 点击用户图标,进入个人中心self.driver.find_element_by_class_name("s-top-img-wrapper").click()sleep(5)
Chrome浏览器的复用相关推荐
- Chrome浏览器架构演变。
浏览器是干嘛的? 浏览器是使用最为广泛的应用之一,当我们使用浏览器,可以通过输入一个网址,来获得我们视觉上看到的整个页面,这期间从输入地址,按下搜索,到响应会页面经历了什么,作为一名前端开发者,要了解 ...
- chrome浏览器F12 Network中Timing参数含义
前言 Chrome浏览器开发者工具Network窗口下,Timing中显示资源在整个请求生命周期过程中各部分花费的时间. Timing各参数截图如下: 参数具体含义: Queueing:请求文件顺序的 ...
- 了不起的Chrome浏览器(6):Chrome 94开始WebGPU试用,Web的图像渲染及机器学能力更强了
9月21日正式发布的Chrome 94,带来了哪些有意思的新特性呢? 背景 十多年来,Web技术突飞猛进,其中Chrome功不可没,了解Chrome可以帮助我们理解前端行业的发展趋势. 因此,我将以& ...
- android 自动化web,如何在android上使用selenium或appium自动化Chrome浏览器?
我想在 Android设备上自动化 Android Chrome浏览器(不只是webview或其他浏览器,而是Chrome浏览器).我认为这可以通过这个链接 https://sites.google. ...
- Chrome浏览器控制台报错NET::ERR_SSL_OBSOLETE_VERSION
问题描述:Chrome浏览器控制台报错NET::ERR_SSL_OBSOLETE_VERSION 原因: 服务器使用了TLS1.0 或 TLS1.1 版本,没有使用 TLS1.2 解决方法: 地址栏访 ...
- ubuntu安装chrome浏览器
PPA方法,免FQ,否则,你得FQ下载chrome,你Firefox VPN配置好了吗!!! wget -q -O - https://raw.githubusercontent.com/longhr ...
- 16条很有用的Chrome浏览器命令
为什么80%的码农都做不了架构师?>>> Google Chrome浏览器有很多的特性在界面菜单中是没有体现的,你可以通过「chrome://命令」来访问.在Chrome的浏览 ...
- win10+Chrome浏览器截长图方法
本方法亲测可行,操作系统为win10,其他操作系统没有试过. 部分内容基于https://blog.csdn.net/ianly123/article/details/80565614并进行修正. 打 ...
- 谷歌或被迫拆分Chrome浏览器,谁将会接盘?
美国司法部和州总检察长办公室的检察官们准备起诉谷歌,正在讨论设法遏制这家搜索巨头的市场力量. Google 可能要被迫分拆 Chrome 浏览器了. 近日,美国政治新闻网站 Politico 援引三名 ...
- edge chrome 浏览器 底色调黑 反色
edge chrome 浏览器 底色调黑 反色 编程的生活,眼睛实在受不了屏幕太亮 edge 地址栏:edge://flags 搜索:dark 选择:Enabled 重启 chrome 地址栏:chr ...
最新文章
- 常用 Git 命令清单
- 正点原子:STM32F103(战舰)、STM32F407(探索者)、STM32F103(MINI)原理图和PCB
- 【 FPGA 】总线实现形式之选择器
- JQuery EasyUi控件值的获取与设置
- div中的图像在图像下方有多余的空间
- Vcenter一次性将服务器四个网卡从端口组迁移到分布式交换机的方法
- android trace文件分析ANR
- Explain:解决MUI 软键盘弹起挤压页面问题
- javaBean List Map json(转)
- 查看was中项目类的加载顺序
- 人工智能AI实战100讲(一)-机器人语义建图(下)
- Delphi XE7的Splash 功能
- 5G 还未商用,6G 研究已开始?!
- jmeter-json提取器提取数据
- 如何解决网站可能存在webshell网页木马,阿里云网站木马后门文件提醒
- 群晖Nas通过jellyfin搭建本地影音库详细全过程(一):通过群晖系统docker容器安装jellyfin影音库服务器
- java+mysql 基于jsp820志愿者管理系统sql
- java mail 使用:exchange邮箱
- java最大文件描述符,java – 为什么JDK NIO使用这么多的anon_inode文件描述符?
- 鲲鹏生态跑出加速度 中原数字经济再续新动能
热门文章
- linux ubi 分区,ubi卷重分区及卷创建流程解析
- FPN(Feature Pyramid Networks)学习笔记
- Python接口自动化之ddt学习笔记
- java.sql.SQLException: The server time zone value 'XXX' is unrecognized or represents more tha
- 使用计算机时,突然断电,存储在下列设备中的信息将丢失的是,下列存储设备中断电后其保存的信息会丢失的是哪一项...
- 学生用计算机中括号怎么打,大括号怎么打,教您word大括号怎么输入
- 原生的APP、小程序(微信小程序、支付宝小程序、头条小程序、百度小程序.等等)、H5 的优势与劣势分析有那些?
- 知识付费垂直细分-育儿知识付费社区
- oracle的lpad函数
- FaceBook第三方登录获取姓名,头像,邮箱等个人信息