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

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

复制代码
chrome.exe --remote-debugging-port=9527 --user-data-dir="D:\selenium\AutomationProfile"

主要参数说明:

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

此时,可以看到一个新的 Chrome 浏览器窗口新打开了。

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

3.编程控制浏览器窗口

代码如下

python 复制代码
# 导入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)

运行之后可以看到:

操作成功了浏览器窗口,并且获取到了当前页面的 title

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

代码如下

python 复制代码
# 导入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)

运行之后可以看到:

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

4.总结

本文主要讲述了:

  1. 安装浏览器驱动

  2. 打开浏览器调试模式,主要命令如下

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

  3. 编写Python程序控制浏览器窗口

今天的分享就到此结束了

欢迎点赞评论关注三连

相关推荐
java1234_小锋37 分钟前
TensorFlow2 Python深度学习 - TensorFlow2框架入门 - 神经网络基础原理
python·深度学习·tensorflow·tensorflow2
JJJJ_iii38 分钟前
【深度学习03】神经网络基本骨架、卷积、池化、非线性激活、线性层、搭建网络
网络·人工智能·pytorch·笔记·python·深度学习·神经网络
JJJJ_iii1 小时前
【深度学习05】PyTorch:完整的模型训练套路
人工智能·pytorch·python·深度学习
程序员小远2 小时前
常用的测试用例
自动化测试·软件测试·python·功能测试·测试工具·职场和发展·测试用例
IT学长编程2 小时前
计算机毕业设计 基于EChants的海洋气象数据可视化平台设计与实现 Python 大数据毕业设计 Hadoop毕业设计选题【附源码+文档报告+安装调试】
大数据·hadoop·python·毕业设计·课程设计·毕业论文·海洋气象数据可视化平台
辣椒http_出海辣椒2 小时前
Python 数据抓取实战:从基础到反爬策略的完整指南
python
荼蘼2 小时前
使用 Flask 实现本机 PyTorch 模型部署:从服务端搭建到客户端调用
人工智能·pytorch·python
(时光煮雨)2 小时前
【Python进阶】Python爬虫-Selenium
爬虫·python·selenium
小政同学3 小时前
【Python】小练习-考察变量作用域问题
开发语言·python
Lynnxiaowen3 小时前
今天我们开始学习python3编程之python基础
linux·运维·python·学习