【目的】
ログインに成功した後、ブラウザのクッキーを取得することによって、インターフェースは着陸の効果を達成するために自由なクッキーのデータを追加することによって、再び開かれます
無料の着陸を追加することにより、セレンは、クッキー
1は、セレンログインに成功することにより、ログインが成功すると、(driver.get_cookiesを使用)すべてのクッキーを取得取得します
2、データはクッキーを保存しました
3、ログイン画面にジャンプするには、いずれかのインターフェイス上で未知のログ
4、Cookieを読み取るファイルは、クッキー、使用driver.add_cookie()の追加を取得します
5、インターフェースを更新、インターフェースは、ログイン状態が表示されます
フレンドリーリマインダー:HTTPのみでクッキー値がTrueの場合、この方法でログインできません
参照コード:
#coding=utf-8
import json
from selenium import webdriver
import requests
class cookies:
def __init__(self,driver):
self.driver=driver
#获取cookies保存到文件
def save_cookie(self):
cookies=self.driver.get_cookies()
json_cookies=json.dumps(cookies)
with open('d:/cookies_csnd.json','w') as f:
f.write(json_cookies)
#读取文件中的cookie
def add_cookie(self):
self.driver.delete_all_cookies()
dict_cookies={}
with open('d:/cookies.json','r',encoding='utf-8') as f:
list_cookies=json.loads(f.read())
for i in list_cookies:
self.driver.add_cookie(i)
if __name__ == '__main__':
driver=webdriver.Chrome()
#进行登录
driver.find_element_by_xpath('//div/ul/li[@class="user"]/input').send_keys("xxxxxxxxxx")
driver.find_element_by_xpath('//div/ul/li[@class="password"]/input').send_keys("123456")
driver.find_element_by_xpath('//div/ul/li[@class="jump"]/button').click()
cookies=cookies(driver)
cookies.save_cookie()#保存cookies
driver.delete_all_cookies()#删除当前所有的cookies
#打开想要跳转的界面,此步不可缺少,不然会报错
driver.get("xxxxxxxxx")
cookies.add_cookies()#添加cookie
driver.get("xxxxxxxxx")#重新打开,该界面显示登录状态
クッキーの内容の解釈:
-
名前:クッキーの名前
-
値:クッキーの値を動的に生成するために対応
-
ドメイン:ドメインネームサーバ
-
有効期限:終了のクッキー効力発生日
-
パス:Path属性は、パスは、Webサーバーのクッキーサーバの設定で使用可能な下のページを定義します
-
HTTPのみ:アンチスクリプティング攻撃
-
セキュア:クッキーの変数をマークし、表示された場合にのみ、ブラウザとWebサーバーの暗号化認証プロトコルとの間の通信プロトコル