通过模拟浏览器获取cookies

    def set_login_params_Job51(self):
        """
        51Job登录配置
        2017-06-06 17:36
        由于51Job的验证码是中文,所以这里仅仅采用chromeDriver打开Chrome浏览器,
        自行在页面输入用户密码进行验证(60s内输入用户密码和验证码),然后程序通过定期访问页面来保持页面登录状态
        :return:
        """

        # 用户名、密码,中文字符前要加u字符,不然send_keys函数会出错
        self.vipname = u"*************"
        self.username = "*************"
        self.password = "************"

        # 登录链接
        self.login_url = 'http://ehire.51job.com/MainLogin.aspx'

        # 登录后打开的新地址
        self.open_url = 'http://ehire.51job.com/Jobs/JobSearchPost.aspx?IsHis=N'

        # 验证码地址
        self.vcode_url = None


        # 登录框信息路径
        # 选着账户密码登录
        self.clickAccountLoginXpath=None

        self.input_name_xpath=None
        self.input_pwd_xpath = None
        self.input_check_xpath = None
        self.input_vcode_xpath =None
        self.input_btn_xpath=None
    def ChromeWebDriver(self):
        """默认打开百度页面"""
        executable_path='../spider/driver/chromedriver.exe'
        self.driver=webdriver.Chrome(executable_path=executable_path)
        self.driver.get('https://www.baidu.com/')
        self.driver.set_window_size(1366,768)
        return self.driver
    def saveCookie(self):
        self.cookies = self.driver.get_cookies()
        if self.cookies:
            with open(self.cookiesFile, 'w') as f:
                pickle.dump(self.cookies, f)
            result = True
            print '已将cookies对象写入文件 {0}...'.format(self.cookiesFile)
        else:
            print '登录失败'
            result=False
        return result
    def UIloginJob51(self):
        """51Job Chrome界面登录"""
        print '=' * 50
        print '{0} 51Job Chrome界面登录...'.format(self.getCurrtime())

        # 设置51Job登录参数
        self.set_login_params_Job51()
        # 打开chrome浏览器窗口
        self.ChromeWebDriver()
        tryTime = 0
        login = 'not ok'
        while login != 'ok':
            tryTime += 1
            # 输入51Job登录地址
            self.driver.get(self.login_url)
            vip_name = self.driver.find_element_by_xpath("""//input[@name="txtMemberNameCN"]""")
            user_name = self.driver.find_element_by_xpath("""//input[@name="txtUserNameCN"]""")
            pwd = self.driver.find_element_by_xpath("""//input[@name="txtPasswordCN"]""")
            vip_name.send_keys(self.vipname)
            time.sleep(1)
            user_name.send_keys(self.username)
            time.sleep(1)
            pwd.send_keys(self.password)
            time.sleep(1)
            # 在界面上输入用户密码和验证码并点击登录
            # 当你确定正常登录后请输入:ok
            login = raw_input("确定已经登录请输入ok,否则随便输入\n")
            print '你输入了:{0}'.format(login)
            if login == 'ok':
                print '{0} 登录成功,即将保存cookie...'.format(self.getCurrtime())
                self.saveCookie()
            else:
                print '{0} 登录失败,输入用户密码登录,当前尝试登录{1}次...'.format(self.getCurrtime(), tryTime)

        time.sleep(3)
        self.driver.close()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值