python-selenium -- 跳过登录验证

一、利用ChromeOptions() 加载用户配置

1.1 在谷歌浏览器中输入chrome://version,查看安装目录及缓存目录

1.2 代码实现

   在执行代码之前,关闭已打开的谷歌浏览器,防止chromedriver挂起


 1 from selenium import webdriver
 2 import time
 3 
 4 #1、Selenium启动Chrome时,加载用户配置文件
 5 option = webdriver.ChromeOptions()
 6 #在谷歌浏览器中输入chrome://version,查看安装目录及缓存目录
 7 #--user-data-dir 指定用户文件夹User Data路径
 8 option.add_argument("--user-data-dir=C:\\Users\\devz400-08\\AppData\\Local\\Google\\Chrome\\User Data")
 9 
10 #初始化 -- 加载用户配置
11 driver = webdriver.Chrome(chrome_options=option)
12 driver.maximize_window()
13 driver.get("http://open.flyme.cn/")
14 time.sleep(5)


执行完成后,打开的页面是已经登录的状态

二、利用cookies跳过登录

2.1 启用谷歌插件EditThisCookie抓取百度登录cookies/抓包软件也可以获取到cookies哦

 

2.2 代码实现

#2、跳过cookies验证
driver = webdriver.Chrome()
driver.maximize_window()
#将身份识别的cookies添加到本次的浏览器当中--用字典表达
'''
如:driver.add_cookie({'name' : 'foo', 'value' : 'bar'})

例如:键值对{"lg_":"aaabbb"}
需要指定name及value对应的值
cookie={“name”:“lg_”,“value”:“aaabbb”}
'''
cookies_1={"name":"BAIDUID","value":"BAIDUID的value值--以具体的为准"} 
cookies_2={"name":"BDUSS","value":"BDUSS的value值--以具体的为准"}
#先访问以下首页
driver.get("https://www.baidu.com/")
#将cookies添加上去 
driver.add_cookie(cookies_1)
driver.add_cookie(cookies_2)
 
#访问主页
driver.get("https://www.baidu.com/?tn=62095104_7_oem_dg")
 
打开百度首页时就是已经登录的状态啦


参考文档【Selenium】Option加载用户配置,Chrom命令行参数:https://www.cnblogs.com/baoyu7yi/p/7058537.html

 

 

 

posted @ 2018-07-03 16:57  雨彡  阅读(1038)  评论(2编辑  收藏  举报