selenium+python 绕过登录进行测试cookie登录

多个Py文件进行多线程测试时,每次登录是很麻烦的事情,所以通过cookie登录,可以绕过登录操作

# 存储登录的cookie(密码登录一次后可获取)
    def save_logincookie(self):
        # cookie = getDriver.get_driver().get_cookie()
        self.driver.implicitly_wait(5)
        time.sleep(3)
        cookie = self.driver.get_cookies()
        json_cookies = json.dumps(cookie)
        with open('vcyber.json', 'w') as f:
            f.write(json_cookies)
        # print("存储的cookie:")
        # print(cookie)

 

# 获取登录时存储的cookie(用该cookie可免密码登录)
    def login_cookie(self):
        # 登录前清除所有的cookie
        # self.driver.delete_all_cookies()
        # self.driver.get(pa.url)
        # self.driver.maximize_window()
        f1 = open('vcyber.json')
        cookie = f1.read()
        # print("获取的cookie:")
        # print(cookie)
        cookie = json.loads(cookie)
        for c in cookie:
            self.driver.add_cookie(c)
        f1.close()  # 关闭json文件
        # 刷新页面
        self.driver.refresh()
        # self.driver.get(base_URL)

 

  

 

但是至少需要正常登录一次才能获取到cookie

 

运行后cookies保存的文件:

 

 

然后使用cookies进行登录

 

posted @ 2019-05-28 16:07  yimu-yimu  阅读(1208)  评论(0编辑  收藏  举报