如何保留硒中的登录状态 [英] How to retain the login state in selenium
本文介绍了如何保留硒中的登录状态的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我使用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屋!
查看全文