首页 > 技术文章 > 模拟登陆拿到cookie

ArtisticMonk 2018-10-01 21:14 原文

模拟登陆代码

def login():

    from selenium import vebdriver

    browser = webdriver.Chrome(executable_path='E:/test/chromedriver.exe')#括号里面的是环境的路径,window配置好了以后就不用这个路径也是可以的

    browser.get('http://www.zhihu.com.signin')##访问的页面,也就是需要登陆的页面

    browser.find_element_by_css_selector('.SigFlow.Input').send_keys('帐号')##输入的帐号和密码,一下就u多写了
    #这里需要注意一点,你在输入的时候尽量把时间放久一点,最好的把他分成几次来输入
    browser.find_element_by_css_selector('.Button.Input').click()##点击的那个按钮
    
    import time
    time.sleep(10)
    #获取cookie
    Cookies = browser.get_cookies()
    print(Cookies)
    cookie_dict = {}
    import pickle
    for cookie in Cookies:
        #写入文件
        f = open('G:/scrapy/'+cookie['name']+'.lagou','wb')
        pickle.dump(cookie,f)
        f.close()
        #上面是把cookie写入文件
        cookie_dict[cookie['name']] = cookie['value']
        #这个是存在磁盘上的
    browser.close()#关闭浏览器
    return [scrapy.Request(url=self.start_urls[0],dont_filter=True,cookies = cookie_dict)]
    #返回cookie给哪一条url
    #一定要注意把setting里面的cookie打开

 

推荐阅读