被selenium add_cookie保持登录状态,弄疯了

李复唐2 发布于 2018/03/10 07:50
阅读 9K+
收藏 0

Fiddler抓到的cookie

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
url='https://sso.ahzwfw.gov.cn/uccp-server/login?appCode=e883684430044cb5a3a49f1a388f1a62&service=http%3A%2F%2Fhb.ahzwfw.gov.cn%2Fbsdt%2FuserCenter%2Ftransition.do'
driver=webdriver.Chrome()
driver.get(url)
#print(driver.get_cookies())
driver.delete_all_cookies()
time.sleep(1)
driver.add_cookie({'domain': 'hb.ahzwfw.gov.cn', 'httpOnly': False, 'name': 'cookie', 'path': '/', 'secure': False, 'value': '93383361'})
driver.add_cookie({'domain': 'hb.ahzwfw.gov.cn', 'httpOnly': False, 'name': 'JSESSIONID', 'path': '/', 'secure': False, 'value': 'D7803AE294273D6C1A5DD1F432312084'})
driver.add_cookie({'domain': 'hb.ahzwfw.gov.cn', 'httpOnly': False, 'name': 'CASTGC', 'path': '/', 'secure': False, 'value': 'TGT-74192-EA0grwPnwpBQbpeqzFgY0oVO6EtaKHxDBGt9gyjMTrC3wZhE5D-cas'})
driver.add_cookie({'domain': 'hb.ahzwfw.gov.cn', 'httpOnly': False, 'name': 'JSESSIONID', 'path': '/', 'secure': False, 'value': '1B58289DC0743E31D6BA372CD5AC1D9A'})
driver.add_cookie({'domain': 'hb.ahzwfw.gov.cn', 'httpOnly': False, 'name': 'loginType', 'path': '/', 'secure': False, 'value': 'loginName'})
driver.add_cookie({'domain': 'hb.ahzwfw.gov.cn', 'httpOnly': False, 'name': 'username', 'path': '/', 'secure': False, 'value': '15155548391'})
time.sleep(1)
driver.get(url)

反复弄了两天了,早上6点就起来写码,都没有结果。求各位老铁给点意见

加载中
0
李复唐2
李复唐2

哪位老铁能指导下,私信发50元红包感谢

0
李复唐2
李复唐2

我一位朋友帮我看了下,

“我退出登陆之后,重新登录,最后一列又更新了

在打开登陆页面的时候,就get到1521770418,然后添加到新cookie里面

4列数字,原来的第1列就消失了

这样保存下来的cookie没用,因为过时了”

 

但是我用Fiddler4,没有抓到这个Hm_lvt...

各位老铁,给点意见

0
j
jadeBaBa
driver.manage().addCookie(new Cookie("Name","value","域名","/",生效时间,false,false));
0
j
jadeBaBa

需要将cookie名,值,目标域名(如:.baidu.com),路径(如:/),cookies生效时间,false,false这一套值设置进去,具体调用Cookies的这个构造方法,将每个cookie值设置即可:

public Cookie(String name, String value, String domain, String path, Date expiry, boolean isSecure, boolean isHttpOnly)
0
初晨Test

driver = webdriver.Chrome() driver.maximize_window() driver.get(url) sleep(1) driver.find_element_by_xpath("//li[text()='Sign In']").click() #点击登录按钮 sleep(1) iframe = driver.find_element_by_xpath("//iframe[@id='iframe-login']") #定位嵌套页面 driver.switch_to_frame(iframe) # 进入该嵌套页面 driver.find_element_by_css_selector("[name='mail']").send_keys('邮箱') driver.find_element_by_css_selector("[name='pass']").send_keys('密码') driver.find_element_by_css_selector('.button-teal').click() #登录 cookie = driver.get_cookies() print(cookie) driver.delete_all_cookies() sleep(1) driver.refresh() #删除cookie后刷新页面,发现已经退出登录 sleep(2) cookie1 = cookie[0] #取出之前获取的cookie列表中字典数据 driver.add_cookie(cookie1) #加入到cookie中 driver.refresh() #刷新查看,发现已经登录成功 sleep(2)

返回顶部
顶部