这篇教程使用Selenium控制当前已经打开的chrome浏览器窗口写得很实用,希望能帮到您。
前言有过几个小伙伴问过我如何利用 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 webdriverfrom selenium.webdriver.chrome.options import Optionsoptions = Options()options.add_experimental_option("debuggerAddress", "127.0.0.1:9527")browser = webdriver.Chrome(options=options)print(browser.title) 代码运行后,可以看到如下:即获取 当前页面的 title 。 
修改了一下代码,如下所示: from selenium import webdriverfrom selenium.webdriver.chrome.options import Optionsoptions = 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) # 哔哩哔哩 ( Python绘制散点图之可视化神器pyecharts python中requests库安装与使用详解 |