Selenium Cookie处理

什么是Cookie

Cookie是储存在用户本地终端上的数据,实际上是一小段的文本信息。

Cookie作用

帮助 Web 站点保存有关访问者的信息,方便用户的访问。

案例:查看和添加访问百度的Cookie内容(Chromel浏览器)

from selenium import webdriver

driver=webdriver.Chrome()
driver.get("http://www.baidu.com/")

#获取cookie全部内容
cookie=driver.get_cookies()
#打印全部cookile信息
print(cookie)
#打印cookie第一组信息
print(cookie[0])

#添加cookie 注意:添加使用cookies的时候,需要先访问url,才能生效
driver.add_cookie({'name':'test_selenium','value':'test_auto'})
for cookie in driver.get_cookies():
print("%s --- %s" %(cookie['name'],cookie['value']))
driver.delete_all_cookies() # 删除所有cookies

driver.quit()

PhantomJS浏览器添加cookies

from selenium import webdriver

# 使用webkit无界面浏览器
# 如果路径为 exe 启动程序的路径,那么该路径需要加一个 r ,如果不填写默认在python路径下
driver = webdriver.PhantomJS(executable_path=r'D:/Python/Python37-32/phantomjs.exe')
# 获取指定网页的数据 start_urls
driver.get('http://www.baidu.com')

cookie_dictionary={
'_pk_id.04d3bfc42d02.fee4':'55ae8af4f227679f.1521602826.',
'_pk_ses.04d3bfc42d02.fee4':'*'
}

for item in cookie_dictionary:
driver.add_cookie({
'domain':'.baidu.com', #注意域名的点
'name':item,
'value':cookie_dictionary[item],
'path':'/',
'httponly':'false',
'secure':'false',
'expires':None
})
for cookie in driver.get_cookies():
print("%s --- %s" %(cookie['name'],cookie['value']))
driver.quit()

 

posted @ 2020-10-24 23:47  Water_you  阅读(210)  评论(0编辑  收藏  举报