今天跟大家介紹一下三種cookie的使用方法,selenium提供了我們add_cookie()方法來跳過驗證碼直接登錄的方法。我們現在以博客園登錄為例,都知道現在博客園登錄要拼圖驗證。
先在網頁打開到登錄界面:

打開這個登錄頁面以後,打開你的fiddler:


點Remove all即可清除下面的信息。
然後回到博客園登錄頁面進行登錄操作,登錄成功以後,進入fiddler查看:

找上圖方框的Host地址。點擊,然後看右側的cookie:

看下面Cookies標籤,就是方框裡面的內容,等號前面的是’name’,等號後面的是對應的value。只需要加上’name’,’value’,’domain’三個cookie值就可以了。
好,我們看代碼:
# coding: utf-8from selenium import webdriverfrom time import sleep
driver = webdriver.Firefox()
driver.get("https://www.cnblogs.com/")
driver.add_cookie({'name': '.CNBlogsCookie', 'value': '45E821B8C9CB67088674479A3C874E', 'domain': '.cnblogs.com'})
driver.add_cookie({'name': '.Cnblogs.AspNetCore.Cookies', 'value': 'CfDJ8N7AeFYNSk1Put6Iydpme28w5Q', 'domain': '.cnblogs.com'})
sleep(2)
driver.refresh()
把你複製的cookie值複製到上面替換對應value,運行以上代碼,發現可以跳過登錄界面直接登錄成功了。domain的意思是作用域,要加上這個key和value才可以。接下來再給大家介紹兩個cookie使用方法,一般情況下我們用不到,了解一下就可以,而且如果真的用到的時候百度也很快的:
# coding: utf-8from selenium import webdriverfrom time import sleep
d = webdriver.Firefox()
d.get("https://www.yiyao.cc")# 看一下登錄前的cookieprint d.get_cookies()
d.add_cookie({'name': '_ui_', 'value': '+f8a02ljlfcnpYmw==', 'Domain': 'yiyao.cc'})
d.add_cookie({'name': '_ut_', 'value': 'otrftkqcJoQ4F2Q==', 'Domain': 'yiyao.cc'})
sleep(3)
d.refresh()
sleep(2)# 看一下登錄後的cookieprint d.get_cookies()
給大家推薦一個很好用的軟體和對應的插件:

這個,而且要下這個版本的,因為我就會用這個版本下插件:

下載一個JSTool的插件,插件很多,只能慢慢找這個,下載好了以後,格式化json是非常方便的,Ctrl+alt+m就可以切換成標準格式的json:

至於那些刪除cookie(delete_cookie(‘key’))或者刪除所有cookies(delete_all_cookies())就不用說了,誰閑著沒事刪cookies啊。
獲取對象屬性還有一個就是查看對象屬性:get_attribute()

以百度為例:
# coding: utf-8from selenium import webdriverd = webdriver.Firefox()
d.get("https://www.baidu.com")print d.get_cookies()# 定位新聞attri = d.find_element_by_xpath(".//*[@id='u1']/a[1]")# 列印class屬性值print attri.get_attribute('class')# 列印文字內容print attri.text
可以看到列印的內容是:

到此為止,我們selenium基礎部分就算是結束了,還有去掉chrome提示「正在被自動化軟體使用」提示語:
options = webdriver.ChromOptions()
options.add_argument('disable-infobars')
d = webdriver.Chrome(chrome_options=options)
以上就是今天跟大家分享的三種實用的cookie使用方法,以上內容希望對你有幫助。
原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/231071.html