如何保留硒中的登录状态 [英] How to retain the login state in selenium

查看:118
本文介绍了如何保留硒中的登录状态的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用selenium和bs4来解析网页.然后网页使用扫描二维码和验证码登录.

I use selenium and bs4 to parse web page. And the web page use scan qrcode and verification code to login.

我使用WebDriverWait等待用户登录

wait = ui.WebDriverWait(driver, 60)         # timeout after 60 seconds, just leave time for user to login

wait.until(lambda driver: driver.execute_script('return isLogin();'))

在我登录后,然后开始解析工作.

and after I login, then begin the parsing work.

工作正常,除了每次运行脚本时,它都会打开一个新的broswr窗口,我需要登录.

It's works well, except that each time when I run the script, it open a new broswr window and I need to login.

如何保持登录状态以避免每次运行脚本时登录.

How to retain the login state to avoid login when each time run the script.

推荐答案

为避免每次您可以使用cookie时登录. 例如:

For avoid login every time you can use cookies. For example:

import pickle

from selenium import webdriver 


browser = webdriver.Chrome()
browser.get("http://www.google.com")
pickle.dump(browser.get_cookies(), open("cookies.pkl","wb"))

并稍后下载Cookie:

and download cookies later:

import pickle

from selenium import webdriver


browser = webdriver.Chrome()
browser.get("http://www.google.com")
cookies = pickle.load(open("cookies.pkl", "rb"))
for cookie in cookies:
    browser.add_cookie(cookie)

这篇关于如何保留硒中的登录状态的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆