关于selenium自动化之获取cookie登录

经常碰到在登录网站的时候,网站会要求输入各种不同的验证码。要想避过验证码,有一种较为简单的方式,就是利用cookie登录。cookie是什么这里就不讨论了,建议百度一下。

下面就具体来说下如何获取cookie登录。

driver.get_cookies()可以获取到当前网站的所有cookie信息,如图:

driver.get_cookie(name),获取指定的cookie,name参数填要获取的cookie的名称。如:driver.get_cookie(name="PHPSESSID")

driver.add_cookie(str),添加cookie登录,str参数填字典的组合格式

如:

str = {"domain":"106.13.81.250",           #域名
"name":"PHPSESSID", #cookie的名称
"value":"80355h83e5uaspj887sdlihdv7" #cookie的值
}

还有种方式是用F12获取cookie,如图:


selenium获取cookie,demo如下:
from selenium import webdriver
import time


driver = webdriver.Chrome()
driver.get('http://106.13.81.20/fw/m.php')
driver.maximize_window()
str = {"domain":"106.13.81.20",
        "name":"PHPSESSID",
       "value":"80355h83e5uaspj887sdlihdv7"
       }

# todo cookie登录
driver.add_cookie(str)
time.sleep(2)
driver.refresh()
time.sleep(3)
driver.quit()

# todo 获取cookie过程
# driver.find_element_by_css_selector('.adm_name').send_keys('an')
# driver.find_element_by_css_selector('.adm_password').send_keys('in')
# time.sleep(15)
# driver.find_element_by_css_selector('td>img[id="login_btn"]').click()
# time.sleep(1)
# driver.refresh()
#
# time.sleep(0.5)
# coo = driver.get_cookies()
# print(coo)
#
# time.sleep(6)
# driver.quit()

webdriver中cookie操作方法:

原文地址:https://www.cnblogs.com/xiamaojjie/p/11461351.html