セレンフリーのクッキーのログインを追加することにより

【目的】

ログインに成功した後、ブラウザのクッキーを取得することによって、インターフェースは着陸の効果を達成するために自由なクッキーのデータを追加することによって、再び開かれます

無料の着陸を追加することにより、セレンは、クッキー

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サーバーの暗号化認証プロトコルとの間の通信プロトコル

 

 

 

おすすめ

転載: blog.csdn.net/qq_35577990/article/details/89812933