selenium控制已经打开的浏览器怎么做,什么场景需要

Admin 2022-07-28 群英技术资讯 396 次浏览

今天这篇给大家分享的知识是“selenium控制已经打开的浏览器怎么做,什么场景需要”,小编觉得挺不错的,对大家学习或是工作可能会有所帮助,对此分享发大家做个参考,希望这篇“selenium控制已经打开的浏览器怎么做,什么场景需要”文章能帮助大家解决问题。

前言

有过几个小伙伴问过我如何利用 Selenium 获取已经打开的浏览器窗口,正巧近日看到有文章写到,我就很不要脸的拿来过拼凑到一起了。

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

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

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

应用场景(理论上)

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

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

3. 总结

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

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

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


以上就是关于“selenium控制已经打开的浏览器怎么做,什么场景需要”的相关知识,感谢各位的阅读,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注群英网络,小编每天都会为大家更新不同的知识。
群英智防CDN,智能加速解决方案

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。

猜你喜欢

成为群英会员,开启智能安全云计算之旅

立即注册
专业资深工程师驻守
7X24小时快速响应
一站式无忧技术支持
免费备案服务
免费拨打  400-678-4567
免费拨打  400-678-4567 免费拨打 400-678-4567 或 0668-2555555
在线客服
微信公众号
返回顶部
返回顶部 返回顶部
在线客服
在线客服