首页 > 其他分享 >Selenium】控制当前已经打开的 chrome浏览器窗口

Selenium】控制当前已经打开的 chrome浏览器窗口

时间:2024-02-01 23:12:07浏览次数:23  
标签:webdriver 浏览器 chrome selenium Selenium 打开 options

Selenium】控制当前已经打开的 chrome浏览器窗口

在这里插入图片描述

前言

有过几个小伙伴问过我如何利用 Selenium 获取已经打开的浏览器窗口,这里给安排了,还安排了两篇。

这里使用 chrome浏览器 来做示例。

整个下来主要有两个步骤,

  1. 手动打开浏览器,
  2. 使用 Python程序 去获取到手动打开的 chrome浏览器

应用场景(理论上)

  1. 登录账号并且需要输入手机验证码的网站;
  2. 登录账号并且需要人机验证的网站(如图片点选、文字点选等人机验证;

1. 打开浏览器

首先来到安装 chrome浏览器 的文件夹下,例:C:\Program Files (x86)\Google\Chrome\Application

在此界面打开 cmd窗口,

然后输入:chrome.exe --remote-debugging-port=9527 --user-data-dir=“F:\selenium\AutomationProfile” ,并回车。
这句代码的意思是启动 chrome浏览器 的调试模式,

  • user-data-dirr=“F:\selenium\AutomationProfile” 是在单独的配置文件中启动 chrome浏览器,可以理解为 新的浏览器,记得创建对应文件夹哦;
  • 其中 9527 为端口号,可自行指定。


此时候,如果无误的话就可以看到桌面新打开了一个 chrome 浏览器了。
见以下示例动图,
在这里插入图片描述

那接下来就是去控制这个 手动打开的 chrome浏览器 啦。


2. 编写 Python程序获取控制 浏览器

Demo代码 如下:

from selenium import webdriver
from selenium.webdriver.chrome.options import Options

options = Options()
options.add_experimental_option("debuggerAddress", "127.0.0.1:9527")
browser = webdriver.Chrome(options=options)

print(browser.title)

代码运行后,可以看到如下:即获取 当前页面的 title 。




修改了一下代码,如下所示:

from selenium import webdriver
from selenium.webdriver.chrome.options import Options

options = Options()
options.add_experimental_option("debuggerAddress", "127.0.0.1:9527")
browser = webdriver.Chrome(options=options)

url = 'https://www.bilibili.com'
browser.get(url)
print(browser.title)	# 哔哩哔哩 (゜-゜)つロ 干杯~-bilibili

运行之后可以看到,
浏览器窗口请求了新的 URL(https://www.bilibili.com),并且获取到了当前页面的 title

123

3. 总结

去到 chrome浏览器 安装的文件夹下,打开 cmd窗口,输入以下内容:

chrome.exe --remote-debugging-port=9527 --user-data-dir="F:\selenium\AutomationProfile"

然后执行 2. 的 Python代码即可控制当前浏览器窗口。


后话

自己动手操作一番,岂不美哉?
See you.

标签:webdriver,浏览器,chrome,selenium,Selenium,打开,options
From: https://www.cnblogs.com/dabaixiong/p/18002332

相关文章

  • Selenium自动化测试之python
    1、简介Selenium是一个自动化测试工具,它支持多种浏览器和操作系统,可以模拟真实用户的行为,如点击、输入文本、滚动页面等。Selenium可以在多种编程语言中使用,如Java、Python、C#等。它可以帮助测试人员快速、准确地测试应用程序的功能和性能。Selenium还提供了丰富的API和库,使得测......
  • 【Selenium】控制当前已经打开的 chrome浏览器窗口(高级版)
    【Selenium】控制当前已经打开的chrome浏览器窗口(高级版)前言 https://blog.csdn.net/weixin_45081575/article/details/126389273利用 Selenium 获取已经打开的浏览器窗口,全python操作不同的是,本次全是用python来进行操作,省去了手动打开浏览器的操作,也相当于是......
  • 使用js获取系统分辨率、系统缩放倍数和浏览器缩放倍数
    做屏幕适配让人头大,用rem适配需要获取到系统缩放倍数和浏览器缩放倍数来计算根节点字体大小,网上找来找去都没看见一个满意的方案,自己折腾一个算是一个比较完美的方案吧,亲测谷歌浏览器120版本有效//获取缩放倍数(1*系统缩放倍数*浏览器缩放倍数)functiongetZoom(){letzoom=......
  • 浏览器支持多线程下载,IDM还是地表最强吗?
    引言平时大家下载小文件一般会用浏览器自带的下载,而大文件却要搭配下载器(比如有亿点点贵的IDM),但是大家知道吗,我们的浏览器自带多线程下载,只是默认是禁用的,试了试真的还不错!启动新功能这里以新版MicrosoftEdge为例,打开edge://flags/#enable-parallel-downloading(Chrome为c......
  • msedge selenium 驱动器下载地址
    MicrosoftEdge网络驱动程序|MicrosoftEdge开发人员---MicrosoftEdgeWebDriver|MicrosoftEdgeDeveloper msedge  MicrosoftEdge网络驱动程序|MicrosoftEdge开发人员---MicrosoftEdgeWebDriver|MicrosoftEdgeDeveloper msedge https://develop......
  • Python+Selenium 自动化测试
    自动化测试是把以人为驱动的测试行为转化成机器执行的一种过程,通常在设计了测试用例并通过评审之后,由测试人员根据测试用例中描述的规程一步步执行测试,得到实际结果与期望结果的比较,再此过程中,为了节省人力,时间或硬件资源,提高测试效率,便引用了自动化测试的概念Selenium:是一套代码......
  • 物联网浏览器(IoTBrowser)-Modbus协议集成和测试
    Modbus协议在应用中一般用来与PLC或者其他硬件设备通讯,Modbus集成到IoTBrowser使用串口插件模式开发,不同的是采用命令函数,具体可以参考前面几篇文章。目前示例实现了Modbus-Rtu和Modbus-Tcp两种,通过js可以与Modbus进行通讯控制。   一、开发插件添加引用添加NModbus4,......
  • python selenium i 不再自动退出
    官网https://chromedriver.chromium.org/home  chrome版本  版本109.0.5414.120(正式版本)(64位) driver 版本indexof/109.0.5414.74/  ##导入selenium#fromseleniumimportwebdriver##选择谷歌浏览器#driver_path=r"C:\ProgramFiles\Googl......
  • chrome驱动 selenium
    chrome驱动selenimchromedriver下载地址:ChromeDriver-WebDriverforChrome-Downloads官网下载地址: https://chromedriver.com/官网下载地址114版本以下:ChromeDriver114andolderversionsdownloadChromeDriverDownloadReleaseStable/Beta/Dev/Canary......
  • anaconda+jupyter书写python简简简简简易安装教程,浏览器编写执行Python程序
    anaconda+jupyter书写python简简简简简易安装教程,浏览器编写执行Python程序目录 1、安装anaconda2、打开JupyterNotebook3、创立ipynb文件编写python代码 4、导出python文件(.py)1、安装anaconda下载地址:www.anaconda.com点击Download会下载一个大约600M的安装包,......