場景
webdriver可以讀取并添加cookie。有時候我們需要驗證瀏覽器中是否存在某個cookie,因為基于真實的cookie的測試是無法通過白盒和集成測試完成的。
另外更加常見的一個場景是自動登陸。有很多系統的登陸信息都是保存在cookie里的,因此只要往cookie中添加正確的值就可以實現自動登陸了。什么圖片驗證碼、登陸的用例就都是浮云了。
代碼
下面的代碼演示了如何自動登陸百度。其中敏感信息我使用了xxxx來代替。
cookie.py
# -*- coding: utf-8 -*-
from selenium import webdriver
from selenium.webdriver.common.keys import Keys from time import sleep import os if 'HTTP_PROXY'in os.environ: del os.environ['HTTP_PROXY'] dr = webdriver.Chrome() url = 'http://www.baidu.com' dr.get(url) print dr.get_cookies() dr.delete_all_cookies() dr.add_cookie({'name': 'BAIDUID', 'value': 'xxxxxx'}) dr.add_cookie({'name': 'BDUSS', 'value': 'xxxxxx'}) dr.get(url) sleep(3) dr.quit()