我使用 selenium 和 bs4 来解析网页。并且网页使用扫描二维码和验证码登录。
我使用 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();'))
然后我登录后,就开始解析工作了。
它运行良好,除了每次运行脚本时,它都会打开一个新的浏览器窗口并且我需要登录。
如何保持登录状态,避免每次运行脚本时都登录。
最佳答案
为了避免每次登录都可以使用cookies。 例如:
import pickle
from selenium import webdriver
browser = webdriver.Chrome()
browser.get("http://www.google.com")
pickle.dump(browser.get_cookies(), open("cookies.pkl","wb"))
稍后下载 cookies:
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)
关于python - 如何在 Selenium 中保留登录状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58620609/