目录

  • 一、那些情况下需要复用浏览器
  • 二、复用浏览器前的设置
  • 三、复用浏览器的代码

一、那些情况下需要复用浏览器

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浏览器的复用相关推荐

  1. Chrome浏览器架构演变。

    浏览器是干嘛的? 浏览器是使用最为广泛的应用之一,当我们使用浏览器,可以通过输入一个网址,来获得我们视觉上看到的整个页面,这期间从输入地址,按下搜索,到响应会页面经历了什么,作为一名前端开发者,要了解 ...

  2. chrome浏览器F12 Network中Timing参数含义

    前言 Chrome浏览器开发者工具Network窗口下,Timing中显示资源在整个请求生命周期过程中各部分花费的时间. Timing各参数截图如下: 参数具体含义: Queueing:请求文件顺序的 ...

  3. 了不起的Chrome浏览器(6):Chrome 94开始WebGPU试用,Web的图像渲染及机器学能力更强了

    9月21日正式发布的Chrome 94,带来了哪些有意思的新特性呢? 背景 十多年来,Web技术突飞猛进,其中Chrome功不可没,了解Chrome可以帮助我们理解前端行业的发展趋势. 因此,我将以& ...

  4. android 自动化web,如何在android上使用selenium或appium自动化Chrome浏览器?

    我想在 Android设备上自动化 Android Chrome浏览器(不只是webview或其他浏览器,而是Chrome浏览器).我认为这可以通过这个链接 https://sites.google. ...

  5. Chrome浏览器控制台报错NET::ERR_SSL_OBSOLETE_VERSION

    问题描述:Chrome浏览器控制台报错NET::ERR_SSL_OBSOLETE_VERSION 原因: 服务器使用了TLS1.0 或 TLS1.1 版本,没有使用 TLS1.2 解决方法: 地址栏访 ...

  6. ubuntu安装chrome浏览器

    PPA方法,免FQ,否则,你得FQ下载chrome,你Firefox VPN配置好了吗!!! wget -q -O - https://raw.githubusercontent.com/longhr ...

  7. 16条很有用的Chrome浏览器命令

    为什么80%的码农都做不了架构师?>>>    Google Chrome浏览器有很多的特性在界面菜单中是没有体现的,你可以通过「chrome://命令」来访问.在Chrome的浏览 ...

  8. win10+Chrome浏览器截长图方法

    本方法亲测可行,操作系统为win10,其他操作系统没有试过. 部分内容基于https://blog.csdn.net/ianly123/article/details/80565614并进行修正. 打 ...

  9. 谷歌或被迫拆分Chrome浏览器,谁将会接盘?

    美国司法部和州总检察长办公室的检察官们准备起诉谷歌,正在讨论设法遏制这家搜索巨头的市场力量. Google 可能要被迫分拆 Chrome 浏览器了. 近日,美国政治新闻网站 Politico 援引三名 ...

  10. edge chrome 浏览器 底色调黑 反色

    edge chrome 浏览器 底色调黑 反色 编程的生活,眼睛实在受不了屏幕太亮 edge 地址栏:edge://flags 搜索:dark 选择:Enabled 重启 chrome 地址栏:chr ...

最新文章

  1. 常用 Git 命令清单
  2. 正点原子:STM32F103(战舰)、STM32F407(探索者)、STM32F103(MINI)原理图和PCB
  3. 【 FPGA 】总线实现形式之选择器
  4. JQuery EasyUi控件值的获取与设置
  5. div中的图像在图像下方有多余的空间
  6. Vcenter一次性将服务器四个网卡从端口组迁移到分布式交换机的方法
  7. android trace文件分析ANR
  8. Explain:解决MUI 软键盘弹起挤压页面问题
  9. javaBean List Map json(转)
  10. 查看was中项目类的加载顺序
  11. 人工智能AI实战100讲(一)-机器人语义建图(下)
  12. Delphi XE7的Splash 功能
  13. 5G 还未商用,6G 研究已开始?!
  14. jmeter-json提取器提取数据
  15. 如何解决网站可能存在webshell网页木马,阿里云网站木马后门文件提醒
  16. 群晖Nas通过jellyfin搭建本地影音库详细全过程(一):通过群晖系统docker容器安装jellyfin影音库服务器
  17. java+mysql 基于jsp820志愿者管理系统sql
  18. java mail 使用:exchange邮箱
  19. java最大文件描述符,java – 为什么JDK NIO使用这么多的anon_inode文件描述符?
  20. 鲲鹏生态跑出加速度 中原数字经济再续新动能

热门文章

  1. linux ubi 分区,ubi卷重分区及卷创建流程解析
  2. FPN(Feature Pyramid Networks)学习笔记
  3. Python接口自动化之ddt学习笔记
  4. java.sql.SQLException: The server time zone value 'XXX' is unrecognized or represents more tha
  5. 使用计算机时,突然断电,存储在下列设备中的信息将丢失的是,下列存储设备中断电后其保存的信息会丢失的是哪一项...
  6. 学生用计算机中括号怎么打,大括号怎么打,教您word大括号怎么输入
  7. 原生的APP、小程序(微信小程序、支付宝小程序、头条小程序、百度小程序.等等)、H5 的优势与劣势分析有那些?
  8. 知识付费垂直细分-育儿知识付费社区
  9. oracle的lpad函数
  10. FaceBook第三方登录获取姓名,头像,邮箱等个人信息