国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

python selenium操作cookie的實現

瀏覽:31日期:2022-08-01 18:55:12

由于HTTP協議是無狀態協議,所以服務器與客戶端通過http協議通訊時,服務器不能記錄客戶端的信息。

為了解決這個問題,通過 Cookie 和 Session 技術來實現。

Cookie保存在客戶端中 Session保存在服務器中

cookie的屬性

一般cookie所具有的屬性,包括:

Domain:域,表示當前cookie所屬于哪個域或子域下面。

對于服務器返回的Set-Cookie中,如果沒有指定Domain的值,那么其Domain的值是默認為當前所提交的http的請求所對應的主域名的。比如訪問 http://www.example.com,返回一個cookie,沒有指名domain值,那么其為值為默認的www.example.com。

Path:表示cookie的所屬路徑。

Expire time/Max-age:表示了cookie的有效期。expire的值,是一個時間,過了這個時間,該cookie就失效了。或者是用max-age指定當前cookie是在多長時間之后而失效。如果服務器返回的一個cookie,沒有指定其expire time,那么表明此cookie有效期只是當前的session,即是session cookie,當前session會話結束后,就過期了。對應的,當關閉(瀏覽器中)該頁面的時候,此cookie就應該被瀏覽器所刪除了。

secure:表示該cookie只能用https傳輸。一般用于包含認證信息的cookie,要求傳輸此cookie的時候,必須用https傳輸。

httponly:表示此cookie必須用于http或https傳輸。這意味著,瀏覽器腳本,比如javascript中,是不允許訪問操作此cookie的。

得到cookie

#從百度首頁登錄百度賬號,并獲取cookiefrom selenium import webdriverfrom time import sleepimport json #啟動chome瀏覽器并訪問百度首頁option=webdriver.ChromeOptions()option.add_argument(’--start-maximized’)drive=webdriver.Chrome(options=option)drive.get(’http://www.baidu.com’)print(drive.title) #點擊“登錄”eled=drive.find_element_by_link_text('登錄')eled.click()sleep(2) #點擊“用戶名登錄”namelogin=drive.find_element_by_css_selector(’p.tang-pass-footerBarULogin’)namelogin.click()sleep(2) #輸入用戶名,密碼并登錄username = drive.find_element_by_id(’TANGRAM__PSP_10__userName’)username.send_keys(’********’)sleep(1) password = drive.find_element_by_id(’TANGRAM__PSP_10__password’)password.send_keys(’********’)sleep(1) submit = drive.find_element_by_id(’TANGRAM__PSP_10__submit’)submit.click()sleep(3) #獲取網站cookiediccookie=drive.get_cookies()fw=open(’baiducookie.txt’,’w’)json.dump(diccookie,fw)fw.close()

從硬盤讀取cookie,加入到request請求發送服務器。

import timeimport json 啟動chome瀏覽器并訪問百度首頁option=webdriver.ChromeOptions()option.add_argument(’--start-maximized’)drive=webdriver.Chrome(options=option) drive.get(’http://www.baidu.com’)print(drive.title) fr=open(’baidu_cookie.txt’,’r’)cookielist=json.load(fr)fr.close()for cookie in cookielist: drive.add_cookie(cookie) sleep(5)drive.get(’http://www.baidu.com’)drive.refresh()

通過cookie登錄百度失敗:

Message: unable to set cookieMessage: invalid argument: invalid ’expiry’

到此這篇關于python selenium操作cookie的實現的文章就介紹到這了,更多相關python selenium操作cookie內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 盈江县| 西平县| 荆门市| 沁源县| 平陆县| 方城县| 江达县| 泰来县| 和硕县| 安多县| 水富县| 斗六市| 平塘县| 通河县| 玉山县| 新野县| 墨玉县| 聂拉木县| 石家庄市| 东至县| 珲春市| 文登市| 龙川县| 桃园市| 兴业县| 商水县| 微山县| 甘南县| 扎囊县| 襄汾县| 出国| 西盟| 金阳县| 盘锦市| 安陆市| 巢湖市| 博客| 井研县| 咸阳市| 溧阳市| 东海县|