python+selenium?实现扫码免密登录示例代码
更新时间:2022年07月14日 16:33:30 作者:咖啡少女不加糖。
这篇文章主要介绍了python+selenium?实现扫码免密登录,首先扫码登录获取cookies保存到本地未后面免密登录做准备,本文通过示例代码给大家介绍的非常详细,需要的朋友可以参考下
(福利推荐:【腾讯云】服务器最新限时优惠活动,云服务器1核2G仅99元/年、2核4G仅768元/3年,立即抢购>>>:9i0i.cn/qcloud)
(福利推荐:你还在原价购买阿里云服务器?现在阿里云0.8折限时抢购活动来啦!4核8G企业云服务器仅2998元/3年,立即抢购>>>:9i0i.cn/aliyun)
一、需求描述
web 自动化测试/python爬虫往往会遇到扫码登录的情况,不是所有的网站都支持用户密码登录,遇到这种扫码登录的情况会阻碍我们自动化测试/爬虫的进行,所有为了可以顺畅的进行我们的需求,在进行自动化或者爬虫前我们首先要解决扫码登录的问题,下面讲解如何实现扫码免密登录。
二、首先扫码登录获取cookies保存到本地未后面免密登录做准备
具体实现代码如下:
def get_cookies(): # 首先获取cookies保存至本地 driver = webdriver.Chrome('/Users/xxx/Documents/python/pack/chromedriver/chromedriver') page_url = 'https:/xxx/38268919/bugtrace/buglists/query/1/created/desc?query_token=20220706291334df28c613a85aa589f04376d034' driver.get(page_url) driver.maximize_window() # 进行扫码登录 time.sleep(20) # 获取列表形式的cookies cookies = driver.get_cookies() # 转换成字符串保存 jsonCookie = json.dumps(cookies) # 保存到txt文件 with open('cookies.txt','w') as f: f.write(jsonCookie) print('cookies保存成功!')
三、初始化浏览器
def browser_initial(): driver = webdriver.Chrome('/Users/xxx/Documents/python/pack/chromedriver/chromedriver') page_url = 'https://xxx/38268919/bugtrace/buglists/query/1/created/desc?query_token=20220706291334df28c613a85aa589f04376d034' driver.get(page_url) driver.maximize_window() return driver
四、获取本地保存的cookies实现登录
代码实现如下
def login(driver): with open('cookies.txt','r',encoding='utf8') as f: cookies = json.loads(f.read()) # 给浏览器添加cookies for cookie in cookies: cookie_dict = { 'domain': '.tapd.cn', 'name': cookie.get('name'), 'value': cookie.get('value'), "expiry": 1658386136, 'path': '/', 'httpOnly': True, 'Secure': True } # print(cookie_dict) driver.add_cookie(cookie_dict) # 刷新网页,cookies才会成功 driver.refresh()
if __name__ =='__main__': driver=browser_initial() login(driver)
到此这篇关于python+selenium 实现扫码免密登录示例代码的文章就介绍到这了,更多相关python扫码免密登录内容请搜索程序员之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持程序员之家!
相关文章
关于文件Permission denied解决方案(pip)
这篇文章主要介绍了文件Permission denied解决方案(pip),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教2023-08-08
最新评论