selenium保留网页登陆信息(保留用户数据)

这段Python代码展示了如何利用selenium模块,结合ChromeOptions和指定的用户数据目录(user_data_dir)来打开谷歌浏览器,并使其保持登录状态。关键在于找到Chrome的默认数据目录,并在启动时通过--user-data-dir参数传递给浏览器。在运行代码前需确保无其他Chrome进程在运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

找到谷歌浏览器存放缓存信息的目录

打开谷歌浏览器访问chrome://version/

 找到这个路径,把结尾的default去掉

#导入模块
from selenium import webdriver
# 添加保持登录的数据路径:安装目录一般在C:\Users\****\AppData\Local\Google\Chrome\User Data
user_data_dir = r'C:\Users\ASUS\AppData\Local\Google\Chrome\User Data'
#这是一个选项类
user_option = webdriver.ChromeOptions()
#添加浏览器用户数据
user_option.add_argument(f'--user-data-dir={user_data_dir}')
#实例化浏览器(带上用户数据)
driver = webdriver.Chrome(options=user_option)

driver.get("https://www.csdn.net/")

 输入以上代码再打开浏览器就是登录的状态了

注意:运行前要把谷歌浏览器的进程清理完,把所有的网页都关掉

如果还不行就cmd输入tasklist | findstr chrome查看一下,如果还有进程就kill一下所有的chromedriver.exe

在使用Selenium进行微博的自动化测试或者模拟登录时,保持登录状态通常涉及到cookies管理和session管理。因为Selenium本身是一个浏览器控制库,它并不能直接保存用户登录信息,而是需要配合一些额外的技术: 1. **Cookie管理**:登录后,微博服务器会在用户浏览器上设置cookies来记录登录状态。你需要获取这些cookies并存储下来。在后续的请求中,通过`add_cookie`函数将这些cookies添加到Selenium WebDriver实例中。 ```python driver = webdriver.Chrome() # 登录操作... cookies_dict = driver.get_cookies() # 获取cookies列表 for cookie in cookies_dict: driver.add_cookie(cookie) # 将cookie添加到驱动中 # 然后,每次访问需要登录权限的页面,记得带上cookies driver.get('https://weibo.com') ``` 2. **Session管理**:如果你能访问到微博API,可以尝试保存session ID,然后在请求头中携带这个ID。有些网站会检查HTTP头部的特定字段来识别是否已经登录。 ```python # 假设get_session_id返回session ID session_id = get_session_id() headers = {'X-Weibo-Token': session_id} # 添加到请求头 driver.get('https://weibo.com', headers=headers) ``` 然而,注意很多网站会有防止自动化登录的机制,如验证码、滑动验证等,这可能导致上述方法失效。此外,微博可能会频繁更新其登录系统,导致之前的方法不再适用。在实际操作时,可能还需要结合其他技术,比如使用Selenium的WebDriver保存能力,或者配合headless模式来隐藏真实浏览器,并使用第三方库(如Puppeteer)来绕过一些限制。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值