1狠裹、使用場景
登錄場景虽界,同時存在賬號密碼登錄和釘釘掃碼登錄方式,繞過釘釘掃碼登錄
2涛菠、實現(xiàn)思路
先使用賬號密碼登錄莉御,獲取cookie,然后保存信息碗暗,再訪問登錄地址颈将,添加cookie
3、脫敏代碼
from selenium import webdriver
import time
# driver1為首次登錄網(wǎng)站獲取到的cookie
driver1 = webdriver.Chrome()
driver1.get("http://xxx/")
driver1.maximize_window()
time.sleep(2)
#通過find_element_by_xpath的send_keys向輸入框發(fā)送用戶名密碼登錄
driver1.find_element_by_xpath('//*[@id="username"]').send_keys("12345678901")
driver1.find_element_by_xpath('//*[@id="password"]').send_keys("123456")
driver1.find_element_by_xpath('//*[@id="loginFormBtn"]').click()
time.sleep(2)
# get_cookies的方法得到登錄后的cookie
savedCookies = driver1.get_cookies()
# driver2需添加driver1的cookie
driver2 = webdriver.Chrome()
driver2.get("http://xxx/")
driver2.delete_all_cookies()
# 遍歷savedCookies
for cookie in savedCookies:
? ? for k in {'name', 'value', 'domain', 'path'}:
? ? ? ? if k not in list(cookie.keys()):
? ? ? ? ? ? if k == 'expiry':
? ? ? ? ? ? ? ? t = time.time()
? ? ? ? ? ? ? ? cookie[k] = int(t)??
? ? driver2.add_cookie({k: cookie[k] for k in {'name', 'value', 'domain', 'path'}})
driver2.get("http:xxx")
print(driver2.get_cookies())