Selenium中免登录的实现方法一option
Selenium中免登录的实现方法一option
在selenium中有很多种可以实现网站的免登录,option就是其中的一种做法。
学员在VIP自动化课程中多有涉及。
1. 准备工作
打开一个网站(此处以https://www.processon.com/为例)
手工登录
关闭
重开该网站发现已经登录好了(这样的操作在很多网站都实现了,记住了你的用户数据)
退出所有的浏览器(有的情况下关闭了进程还在,需要结束,可以用taskkill或者任务管理器中结束)
2. 代码实现
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/')
3. 用户数据获取方法
此处以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
4. 说在最后
- option的用法很多,后面会单独开个文章来讲述
- firefox用的是profile文件,操作方法不尽相同,此处不赘述,有兴趣的同学可以自己了解下
- mac环境下有遇到过失效的情况,没有环境不好分析为何
- 强调下前提的重要性
- 准备工作很重要
- 你要保证你手工打开网站是已登录的情况(如果你退出,用户资料里面就没有了)
- 你应该退出浏览器进程,不然会占用数据
Selenium中免登录的实现方法一option的更多相关文章
- 登录操作(方法一:设置flag标志位)
登录操作(方法一:设置flag标志位) user_name="star"passwoed='123'passed_authentication=Falsecount=0for i ...
- centos6.5下oracle11g开机自动启动方法一
转裁于 方法一 https://blog.csdn.net/wx5040257/article/details/77875690 方法二 https://blog.csdn.net/wx504025 ...
- Spring Framework------>version4.3.5.RELAESE----->Reference Documentation学习心得----->使用spring framework的IoC容器功能----->方法一:使用XML文件定义beans之间的依赖注入关系
XML-based configuration metadata(使用XML文件定义beans之间的依赖注入关系) 第一部分 编程思路概述 step1,在XML文件中定义各个bean之间的依赖关系. ...
- JBOSS通过Apache负载均衡方法一:使用mod_jk
JBOSS通过Apache负载均衡方法一:使用mod_jk 本文第一.二节分别对Linux环境下前端使用Apache以及windows环境下前端使用IIS通过AJP协议和后端的JBOSS通信实现负 ...
- mybatis由浅入深day02_2一对一查询_2.2方法一:resultType
2 一对一查询 2.1 需求(查询所有订单信息,关联查询创建订单的用户信息) 查询所有订单信息,关联查询创建订单的用户信息 注意:因为一个订单信息只会是一个人下的订单,所以从查询订单信息出发关联查询用 ...
- 4 使用Selenium模拟登录csdn,取出cookie信息,再用requests.session访问个人中心(保持登录状态)
代码: # -*- coding: utf-8 -*- """ Created on Fri Jul 13 16:13:52 2018 @author: a " ...
- 3 使用selenium模拟登录csdn
之前通过F12开发者模式调试,获取网站后台服务器验证用户名和密码的URL之后,再构造post数据的方式会存在一个问题,就是对目标网站的验证机制不明确,构造post数据除了用户名和密码之外,还可能有更复 ...
- selenium(python)登录时账号密码错误提示语
selenium(python)登录时账号密码错误提示语的获取 可以用text
- 头像文件上传 方法一:from表单 方法二:ajax
方法一:from表单 html 设置form表单,内包含头像预览div,内包含上传文件input 设置iframe用来调用函数传参路径 <!--表单提交成功后不跳转处理页面,而是将处理数据返回给 ...
- vue抽取公共方法———方法一
方法一:Vue插件 1.概述 作用:满足vue之外的需求,特定场景的需求 比如说,让你在每个单页面组件里,都可以调用某个方法(公共方法),或者共享某个变量等 2.使用方法 [声明插件]- [写插件]- ...
随机推荐
- Java注解和反射笔记
Java注解和反射笔记 1 注解 1.1 定义 Annotation是从JDK1.5开始引入的技术 作用 不是程序本身,可以对程序作出解释 可以被其他程序(编译器等)读取 格式 @注释名,可以添加一些 ...
- 「工具推荐」golang 代码可视化工具 go-callvis
「工具推荐」go-callvis go-callvis是相对 以图片的形式展示了go程序的调用关系,这个工具在看复杂项目时尤其有用. 亲测,借助它看祖传golang代码,头痛好多了. 安装 go ge ...
- 安装kali linux(干货)
安装kali 一. 准备工具 1. VMware Workstation Pro https://www.vmware.com/cn/products/workstation-pro/workstat ...
- 靶机练习: Hacker_Kid-v1.0.1
靶机: Hacker_Kid-v1.0.1 准备工作 靶机地址: https://download.vulnhub.com/hackerkid/Hacker_Kid-v1.0.1.ova MD5 校验 ...
- IDEA提交任务到spark standalone集群
参考文章: 在idea里面怎么远程提交spark任务到yarn集群 代码 注意setJars,提交的代码,要提前打好包.否则会报找不到类的错误 个人理解就相当于运行的main方法是起了一个spark- ...
- 绵阳2020CCPC补题
绵阳2020CCPC D,K,J,L,G D. Defuse the Bombs 知识点:二分答案 复杂度:\(O(nlogn+log^2n)\) vp时我猜了一个结论,验了几个样例就写了,喜提WA3 ...
- 微信公众号调试经常报access_token is invalid or not latest rid
是因为我没有使用中控服务器,所以服务器上使用同一个appid和secret获取了access_token 调试的时候再重新获取了一个新的access_token,所以导致微信服务器发放了新的acces ...
- 求10以内所有偶数和-Java
public class Demo{ //求10以内所有偶数和 public static void main (String[] args){ int sum = 0; for(int i = 0; ...
- Python3.9.5安装
参考教程1:https://www.cnblogs.com/xiaoyanhuo/p/16362875.html 参考教程2:https://www.cnblogs.com/feng18/p/5854 ...
- MySQL进阶实战6,缓存表、视图、计数器表
一.缓存表和汇总表 有时提升性能最好的方法是在同一张表中保存衍生的冗余数据,有时候还需要创建一张完全独立的汇总表或缓存表. 缓存表用来存储那些获取很简单,但速度较慢的数据: 汇总表用来保存使用grou ...