使用cookies,免密登录禅道(一)
导言:在做自动化的过程中,很多时候都需要绕过登录验证码来进行测试,可使用cookie 绕过验证码进行登录。
以下以自己搭建的禅道环境登录为例(其他网站也可以同样道理):
#coding=gbk
import os
import time
from selenium import webdriver
driver = webdriver.Chrome()
driver.get('http://127.0.0.1/zentao/user-login.html')
driver.implicitly_wait(5)
##第一步,打开网页后先手动输入用户名和密码,获取到登录后的cooking
# time.sleep(30)
# cookies=driver.get_cookies()
# for cookie in cookies:
# print(cookie)
##第二步骤,把获取到的登录后的cookies复制到文本编辑器中,再通过add_cookie的方法向浏览器中添加cookie值,刷新后即可看到效果
#备注:需要手动去掉过期时间,否则会报错。
driver.add_cookie({'domain': '127.0.0.1', 'httpOnly': True, 'name': 'zentaosid', 'path': '/', 'secure': False, 'value': 'icamp2fhqsbm10lgkjaogpia74'})
driver.add_cookie({'domain': '127.0.0.1', 'httpOnly': False, 'name': 'windowHeight', 'path': '/zentao', 'secure': False, 'value': '675'})
driver.add_cookie({'domain': '127.0.0.1', 'httpOnly': False, 'name': 'windowHeight', 'path': '/zentao/my', 'secure': False, 'value': '675'})
driver.add_cookie({'domain': '127.0.0.1', 'httpOnly': True, 'name': 'device', 'path': '/zentao/', 'secure': False, 'value': 'desktop'})
driver.add_cookie({'domain': '127.0.0.1', 'httpOnly': False, 'name': 'windowWidth', 'path': '/zentao', 'secure': False, 'value': '1036'})
driver.add_cookie({'domain': '127.0.0.1', 'httpOnly': False, 'name': 'lang', 'path': '/zentao/', 'secure': False, 'value': 'zh-cn'})
driver.add_cookie({'domain': '127.0.0.1','httpOnly': False, 'name': 'theme', 'path': '/zentao/', 'secure': False, 'value': 'default'})
driver.add_cookie({'domain': '127.0.0.1', 'httpOnly': False, 'name': 'windowWidth', 'path': '/zentao/my', 'secure': False, 'value': '1036'})
time.sleep(3)
driver.refresh()