Chrome浏览器的复用

Chrome浏览器的复用,第1张

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

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

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 Options


class 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)

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/714827.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-24
下一篇 2022-04-24

发表评论

登录后才能评论

评论列表(0条)

保存