软件测试|selenium复用cookie,避开扫码或者输入密码

举报
霍格沃兹测试开发 发表于 2022/12/28 16:51:52 2022/12/28
1.5k+ 0 0
【摘要】 说明:本篇博客基于selenium 4.1.0 说明cookie复用,跳过登录步骤# 1. 首次运行,手动登录进网站# 2. 记录cookie信息到本地cookie = driver.get_cookies()# 3. 后续再次登录时,传入本地cookie信息,登录进网站for i in cookie: driver.add_cookie(i) 代码示例import osimport ...

说明:本篇博客基于selenium 4.1.0

说明

cookie复用,跳过登录步骤

# 1. 首次运行,手动登录进网站

# 2. 记录cookie信息到本地
cookie = driver.get_cookies()

# 3. 后续再次登录时,传入本地cookie信息,登录进网站
for i in cookie:
    driver.add_cookie(i)

代码示例

import os
import yaml
from selenium import webdriver
from selenium.webdriver.support import expected_conditions
from selenium.webdriver.support.wait import WebDriverWait
driver = webdriver.Chrome()
driver.implicitly_wait(10)
driver.get('https://work.weixin.qq.com/wework_admin/loginpage_wx')
if not os.path.exists("resource"):
    os.mkdir("resource")

# 判断cookie是否存在,有则使用cookie跳过登录,无则手动登录
if os.path.exists("resource/cookie.yaml"):
    # 读取cookie,传入浏览器中
    cookie = yaml.safe_load(open("resource/cookie.yaml"))
    for i in cookie:
        driver.add_cookie(i)
    # 进入网站
    driver.get("https://work.weixin.qq.com/wework_admin/frame#index")
else:
    # 扫码登录,等待页面加载
    WebDriverWait(driver, 60).until(expected_conditions.url_contains("wework_admin/frame"))

    # 存入cookie信息到本地
    cookie = driver.get_cookies()
    with open("resource/cookie.yaml", "w") as f:
        yaml.safe_dump(cookie, f)
time.sleep(3)
driver.quit()
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

作者其他文章

评论(0

抱歉,系统识别当前为高风险访问,暂不支持该操作

    全部回复

    上滑加载中

    设置昵称

    在此一键设置昵称,即可参与社区互动!

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。