Python Selenium 复用 Chrome 浏览器登录状态详解
本文详解如何利用 Selenium 控制已打开的 Chrome 浏览器,通过指定 user-data-dir 和 remote-debugging-port 参数,实现复用本地浏览器的缓存与登录信息。适用于需要保持登录状态进行网页爬取或自动化操作的场景,避免重复模拟登录。
导读
在使用 selenium 控制 Google Chrome 浏览器时,默认启动的是一个全新的浏览器窗口,其中不包含任何原有的缓存或会话数据。如果需要进行网页信息抓取或特定自动化操作,通常需要重新执行登录流程。
Selenium 操作浏览器
本文以访问 CSDN 网站为例,演示如何让 Selenium 在启动 Chrome 浏览器时直接携带用户的已登录状态信息。
打开 Chrome 浏览器
from selenium import webdriver
from selenium.webdriver import ChromeOptions
#设置操作的网站
web_url = "https://bbs.csdn.net"
browser = webdriver.Chrome(executable_path=r"D:\chromedriver_win32\chromedriver\chromedriver.exe")
#打开网页
browser.get(web_url)
运行初始程序后,浏览器界面如上图所示。可以看出,默认情况下并未加载用户的登录信息,处于未登录状态。
带用户登录信息打开 Chrome 浏览器
1. 启动携带用户信息的 Chrome 窗口
"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" -remote-debugging-port=9014 --user-data-dir="C:\\Users\\15053\AppData\Local\Google\Chrome\\User Data"
由于 Chrome 采用的是默认安装路径,因此上述命令中的路径与实际情况一致。若安装时选择了自定义路径,请相应修改 chrome.exe 的实际路径。
user-data 目录是 chrome 存储缓存数据的目录,其中包含了用户的登录凭证等信息。若你在自己的电脑上操作,需要将 15053 替换为你电脑上的实际用户名。
注意:在执行上述命令时,建议确保 chrome浏览器 处于关闭状态,否则后续执行 Python 程序时可能无法成功连接到 Chrome 浏览器。
2. 使用 Selenium 打开网站
from selenium import webdriver
from selenium.webdriver import ChromeOptions
web_url = "https://bbs.csdn.net"
#加载cookies中已经保存的账号和密码
options = ChromeOptions()
options.add_experimental_option("debuggerAddress", "127.0.0.1:9014")
browser = webdriver.Chrome(executable_path=r"D:\chromedriver_win32\chromedriver\chromedriver.exe",
chrome_options=options)
browser.get(web_url)
可以看到,此时通过 Selenium 打开的网站已经自动携带了用户的登录信息,无需再次手动登录。
到此这篇关于详解 C 语言 fscanf 函数读取文件教程及源码的文章就介绍到这了,更多相关 C 语言 fscanf 读取文件教程内容请搜索本站以前的文章或继续浏览下面的相关文章希望大家以后多多支持本站!
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









