Selenium中免登录的实现方法option详解
松勤吴老师 人气:0在selenium中有很多种可以实现网站的免登录,option就是其中的一种做法。
学员在VIP自动化课程中多有涉及。
01. 准备工作
打开一个网站(此处以https://www.processon.com/为例)
手工登录
关闭
重开该网站发现已经登录好了(这样的操作在很多网站都实现了,记住了你的用户数据)
退出所有的浏览器(有的情况下关闭了进程还在,需要结束,可以用taskkill或者任务管理器中结束)
02. 代码实现
from selenium import webdriver option = webdriver.ChromeOptions() user_data_dir = r'C:\Users\songqin008\AppData\Local\Google\Chrome\User Data' option.add_argument(f'--user-data-dir={user_data_dir}') driver = webdriver.Chrome(options=option) driver.get('https://www.processon.com/')
03. 用户数据获取方法
- 此处以chrome浏览器为例,firefox或其他浏览器并不一样
- 在地址栏中输入chrome://version,获取其个人资料路径的值,注意最后的Default要抛弃掉
Google Chrome 108.0.5359.99 (正式版本) (64 位) (cohort: Stable) 修订版本 aa99c50ebc03bd334a4a8f11e99ab6fb5e0adf78-refs/branch-heads/5359_71@{#8} 操作系统 Windows 10 Version 21H2 (Build 19044.2251) JavaScript V8 10.8.168.21 用户代理 Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36 命令行 "C:\Program Files\Google\Chrome\Application\chrome.exe" --flag-switches-begin --flag-switches-end 可执行文件路径 C:\Program Files\Google\Chrome\Application\chrome.exe 个人资料路径 C:\Users\songqin008\AppData\Local\Google\Chrome\User Data\Default 使用中的变体 cdb6e83c-b4779eec df319cb2-ca7d8d80
04. 说在最后
- option的用法很多,后面会单独开个文章来讲述
- firefox用的是profile文件,操作方法不尽相同,此处不赘述,有兴趣的同学可以自己了解下
- mac环境下有遇到过失效的情况,没有环境不好分析为何
- 强调下前提的重要性
- 准备工作很重要
- 你要保证你手工打开网站是已登录的情况(如果你退出,用户资料里面就没有了)
- 你应该退出浏览器进程,不然会占用数据
加载全部内容