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