首页 > 其他分享 >selenium使用已打开的浏览器

selenium使用已打开的浏览器

时间:2024-02-19 12:55:05浏览次数:22  
标签:浏览器 selenium TCP DESKTOP WISWEL LISTENING 打开

最后更新:2024.02.19 python版本:3.12 selenium版本:4.16.0

在写selenium的时候,调试网页每次都需要新建一个浏览器实例,再打开网页进行操作,比较费时,尤其是在当网页加载特别慢的情况下;

使用 Chrome DevTools 协议就可以让selenium直接使用当前已经打开的处于远程调试的浏览器实例,以下操作以Edge浏览器为例,Chrome亦可使用:

1、使用 DevTools协议 打开一个新的浏览器实例

注意:此步骤,需要先关闭所有开启的Edge浏览器实例,否则,此步骤将不会进行远程调试,而是仅打开一个新的浏览器实例

于cmd程序中,先进入edge.exe程序所在的文件夹下,再执行下方代码:

C:\Program Files (x86)\Microsoft\Edge\Application> msedge.exe --remote-debugging-port=9222

此时会新建一个处于远程调试的浏览器实例,如果想确认调试端口已经打开,请使用 netstat /a 命令查询处于活动状态的端口:

C:\Program Files (x86)\Microsoft\Edge\Application> netstat /a

活动连接

  协议  本地地址          外部地址        状态
  TCP    0.0.0.0:135            DESKTOP-WISWEL:0       LISTENING
  TCP    0.0.0.0:443            DESKTOP-WISWEL:0       LISTENING
  TCP    0.0.0.0:445            DESKTOP-WISWEL:0       LISTENING
  TCP    127.0.0.1:1471         update:https           TIME_WAIT
  TCP    127.0.0.1:2017         DESKTOP-WISWEL:0       LISTENING
  TCP    127.0.0.1:4301         DESKTOP-WISWEL:0       LISTENING
  TCP    127.0.0.1:6972         DESKTOP-WISWEL:0       LISTENING
  TCP    127.0.0.1:8680         DESKTOP-WISWEL:0       LISTENING
  TCP    127.0.0.1:9222         DESKTOP-WISWEL:0       LISTENING
  TCP    127.0.0.1:14147        DESKTOP-WISWEL:0       LISTENING

如是想使用不同的用户数据,来新建一个远程调试浏览器实例,可以使用 --user-data-dir 参数项,此项为非必填,注意该参数项后的文件路径得事先存在:

C:\Program Files (x86)\Microsoft\Edge\Application> msedge.exe --remote-debugging-port=9222 --user-data-dir="‪D:\Cache\browser_vuser_data\edge_user_01"

信息参考:Microsoft Edge 开发工具协议 - Microsoft Edge Developer documentation | Microsoft Learn

2、使用selenium连接处于远程调试状态的浏览器实例

from selenium import webdriver
from selenium.webdriver.edge.options import Options

if __name__ == '__main__':
    chrome_options = Options()
    chrome_options.add_experimental_option("debuggerAddress", "127.0.0.1:9222")
    driver = webdriver.Edge(options=chrome_options)
    # 输出接口
    print(driver.title)

运行上方python代码,将会输出处于远程调试的浏览器实例的窗口title

 

标签:浏览器,selenium,TCP,DESKTOP,WISWEL,LISTENING,打开
From: https://www.cnblogs.com/igigi/p/18020841

相关文章

  • 腾讯安全管家修改默认浏览器
         翻译搜索复制......
  • python+selenium基础语法
    一、执行环境Python3.12.0selenium3.14.0二、八大元素定位//示例:打开百度,输入123,点击搜索fromseleniumimportwebdriverfromtimeimportsleepfromselenium.webdriver.common.byimportBydeftest():driver=webdriver.Chrome("D:/driver/chromedri......
  • safari浏览器正则表达式兼容问题
    发现问题解决问题1、正则格式不对2、IOS,MAC不支持零宽断言 发现问题在开发过程中难免会使用正则表达式来匹配或替换一些文本(字符串),原本以为在不同的浏览器,正则表达式是一样的。然而在实际开发测试中却遇到了问题。一般正则表达式使用的谷歌浏览器,火狐浏览器都正常,而在safari浏......
  • 跨浏览器兼容性和调试技巧
    一、简介    不同的浏览器再解释和渲染网页代码时存在差异,可能导致网页在不同的浏览器上呈现出不同的效果,或者在某些浏览器上根本无法正常显示。所以需要进行浏览器兼容性调试。二、溯源   跨浏览器兼容性的定义:指网页在不同浏览器中能够正确显示并保持一致的能力......
  • Streamlit输出可下载xlsx文件到浏览器
    Streamlit以及业界给出的示例大多为针对csv文件的,但在实践中,数据经过处理后以xlsx文件输出的需求也不少。xlsx文件更接地气,更接近最终用户的需求。openpyxl是我最喜爱的xlsx文件处理工具,速度快功能强大,在使用Streamlit自作网站的时候自然优先选用。base64可理解为一种加密工具,将......
  • VB Open 函数详解 打开、关闭、读、写文件
    (一)打开和关闭文件    1、顺序文件    打开顺序文件,我们可以使用Open语句。它的格式如下:OpenpathnameFor[Input|Output|Append]As[#]filenumber[Len=buffersize]     说明:    (1)参数pathname表示要打开的文件名,文件名可以包含有驱动器和目录 ......
  • selenium
    1、概要本阶段课程主要学习selenium自动化测试框架在爬虫中的应用,selenium能够大幅降低爬虫的编写难度,但是也同样会大幅降低爬虫的爬取速度。在逼不得已的情况下我们可以使用selenium进行爬虫的编写。2、Selenium是一个Web的自动化测试工具,最初是为网站自动化测试而开......
  • Selenium
    Python爬取B站(Bilibili.com)UP主的所有视频链接及详细信息Python爬取B站(Bilibili.com)UP主的所有公开视频链接及信息安装selenium安装selenium:condainstallseleniumselenium+Edgeselenium+Edge浏览器在MicrosoftEdgeWebDriver|MicrosoftEdgeDeveloper下载电脑......
  • Selenium 4 新特性
    Selenium4新特性相对定位器to_left_of():位于目标元素左侧的元素to_right_of():位于目标元素右侧的元素above():位于目标元素上方的元素below():位于目标元素下方的元素near():位于目标元素附近(默认50像素以内)的元素示例代码fromseleniumimportwebdriverfromselenium.we......
  • Selenium Grid 高级运用
    SeleniumGrid高级运用SeleniumGrid详细参数配置Hub和Node共有的参数参数分类参数名称取值范围功能启动参数hostIP地址,默认随机分配默认即可启动参数port端口号,默认4444都行启动参数rolehub、node、standalone看当前节点的角色调试参数debug......