使用Selenium的Cookie,将登录信息存储在Cookie中,然后在下一次运行脚本时使用该Cookie来进行自动登录。以下是代码示例:
from selenium import webdriver
# 实例化一个浏览器对象
driver = webdriver.Chrome()
# 进行登录
def login(username, password):
# 输入用户名和密码
driver.find_element_by_id("username").send_keys(username)
driver.find_element_by_id("password").send_keys(password)
# 点击登录按钮
driver.find_element_by_id("login-btn").click()
# 获取Cookie
def get_cookie():
# 获取Cookie
cookie = driver.get_cookies()
# 将Cookie转换为字符串
cookie_str = ""
for item in cookie:
cookie_str += item["name"] + "=" + item["value"] + "; "
# 返回字符串形式的Cookie
return cookie_str
# 设置Cookie
def set_cookie(cookie_str):
# 分割Cookie字符串
cookie_arr = cookie_str.split("; ")
# 遍历每个Cookie,添加到浏览器中
for item in cookie_arr:
name, value = item.split("=")
driver.add_cookie({"name": name, "value": value})
# 判断是否登录成功
def is_login_success():
if "Welcome" in driver.page_source:
return True
else:
return False
# 完成自动登录
def auto_login(username, password):
# 判断是否存在Cookie
cookie_str = get_cookie()
if cookie_str:
# 使用Cookie完成自动登录
set_cookie(cookie_str)
# 判断是否登录成功
if is_login_success():
print("自动登录成功!")
return
# 进行手动登录
login(username, password)
# 判断是否登录成功
if is_login_success():
print("手动登录成功!")
# 存储Cookie
cookie_str = get_cookie()
# 保存Cookie
# ...
# 调用自动登录方法
auto_login("your_username", "your_password")
上述代码中,通过 get_cookies 方法获取浏览器的 Cookie 信息,然后将其存储为字符串格式。在下一次运行脚本时,可将该字符串格式的 Cookie 设置到浏览器中,进行自动登录操作。
上一篇:避免在SELECT子句中硬编码