经常碰到在登录网站的时候,网站会要求输入各种不同的验证码。要想避过验证码,有一种较为简单的方式,就是利用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操作方法: