• Selenium操作已经打开的Chrome浏览器窗口


    Selenium操作已经打开的Chrome浏览器窗口

    0. 背景

    在使用之前的代码通过selenium操作Chrome浏览器时,每次都要新打开一个窗口,觉得麻烦,所以尝试使用 Selenium 获取已经打开的浏览器窗口,在此记录下过程

    本文使用 chrome浏览器来做示例。

    1. 安装浏览器驱动

    ChromeDriver谷歌浏览器驱动的下载安装与使用,可以参考点击:ChromeDriver谷歌浏览器驱动下载安装与使用最新版118/119/120

    2. 打开浏览器

    首先来到安装 chrome浏览器 的文件夹下,例:C:\Program Files (x86)\Google\Chrome\Application。
    首先打开命令行窗口:选择开始 ----> 运行 ----> 输入cmd,或者是window+R组合键----> 输入cmd, 调出命令行窗口。
    再跳转到Chrome浏览器目录,由于本例中Chrome浏览器目录是C:\Program Files (x86)\Google\Chrome\Application,输入以下命令,并回车。注意:这里cd 后面跟的命令需要根据实际Chrome浏览器安装目录进行替换。

    cd C:\Program Files (x86)\Google\Chrome\Application
    
    • 1

    然后启动 Chrome浏览器 的调试模式,输入以下命令并回车。

    chrome.exe --remote-debugging-port=9527 --user-data-dir=“D:\selenium\AutomationProfile”
    
    • 1

    主要参数说明:

    • user-data-dirr=“D:\selenium\AutomationProfile” 是在指定的配置文件中启动 Chrome浏览器,可以是新的浏览器,也可以是使用过的特定浏览器,所以这里注意创建对应的文件夹哦;
    • remote-debugging-port=9527 其中 9527 为端口号,可自行指定,只要上下文环境保持一致即可。
      在这里插入图片描述

    此时,可以看到一个新的 Chrome 浏览器窗口新打开了。
    在这里插入图片描述

    下面,我们就可以操作这个新打开的浏览器窗口了。

    3.编程控制浏览器窗口

    代码如下

    # 导入selenium
    from selenium import webdriver
    from selenium.webdriver.chrome.options import Options
    
    options = Options()
    
    options.add_experimental_option("debuggerAddress", "127.0.0.1:9527")
    
    # 选择谷歌浏览器
    driver = webdriver.Chrome(options=options)
    
    # 打印网页title
    print(driver.title)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    运行之后可以看到:

    操作成功了浏览器窗口,并且获取到了当前页面的 title
    在这里插入图片描述
    在这里插入图片描述

    修改代码,请求百度(https://www.baidu.com/)
    代码如下

    # 导入selenium
    from selenium import webdriver
    from selenium.webdriver.chrome.options import Options
    
    options = Options()
    
    options.add_experimental_option("debuggerAddress", "127.0.0.1:9527")
    
    # 选择谷歌浏览器
    driver = webdriver.Chrome(options=options)
    
    # 输入网址
    driver.get("https://www.baidu.com/")
    
    # 打印网页title
    print(driver.title)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    运行之后可以看到:

    浏览器窗口请求了新的 URL(https://www.baidu.com/),并且获取到了当前页面的 title

    在这里插入图片描述

    在这里插入图片描述

    4.总结

    本文主要讲述了:

    1. 安装浏览器驱动
    2. 打开浏览器调试模式,主要命令如下
    chrome.exe --remote-debugging-port=9527 --user-data-dir=“D:\selenium\AutomationProfile”
    
    • 1
    1. 编写Python程序控制浏览器窗口


    今天的分享就到此结束了

    欢迎点赞评论关注三连

    在这里插入图片描述

  • 相关阅读:
    远场Far-Field beamforming与近场Near-Field beamforming有何关系
    零基础程序员想要学好.Net,跟着这7个步骤学习就可以了
    VS2022+qt5.15.2+cmake3.23.2配置VTK9.1.0版本
    v-bind绑定
    【java毕业设计源码】基于ssm/springboot的果蔬农产品微信小程序商城
    SpringMVC: Java Web应用开发的框架之选
    Linux下线程池(ThreadPool)
    go并发操作且限制数量
    String类的初始化?
    蓝桥杯 题库 简单 每日十题 day5
  • 原文地址:https://blog.csdn.net/nings666/article/details/134467103