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