zoukankan      html  css  js  c++  java
  • 添加cookie绕过登陆

    添加cookie绕过登陆

    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    
    from selenium import webdriver
    import time
    import pickle
    
    
    class SkipLogin(object):
        def __init__(self):
            self.driver = webdriver.Chrome()
            self.driver.implicitly_wait(15)
            self.driver.maximize_window()
    
        def add_have_login_state(self):
            try:
                cookies = pickle.load(open("cookies.pkl", "rb"))
                for cookie in cookies:
                    cookie_dict = {
                        "domain": ".yaozh.com",  # 火狐浏览器不用填写domain,谷歌要需要
                        'name': cookie.get('name'),
                        'value': cookie.get('value'),
                        "expires": "",
                        'path': '/',
                        'httpOnly': False,
                        'HostOnly': False,
                        'Secure': False}
                    self.driver.add_cookie(cookie_dict)
            except Exception as e:
                print(e)
    
        # 打开个人中心
        def open_personal_center(self):
            self.driver.get("https://www.yaozh.com/member/")
    
        def is_login(self):
            return self.driver.current_url is not "https://www.yaozh.com/member/"
    
        # 添加cookies到文件中
        def write_cookies(self):
            self.driver.get("https://www.yaozh.com/login/")
            user_name = self.driver.find_element_by_id("username")
            pwd = self.driver.find_element_by_id("pwd")
            login_button = self.driver.find_element_by_id("button")
            user_name.send_keys("13609083341")
            pwd.send_keys("ybeuofnw")
            login_button.click()
            time.sleep(5)
            pickle.dump(self.driver.get_cookies(), open("cookies.pkl", "wb"))
            time.sleep(5)
            self.driver.close()
    
        def main(self):
            self.open_personal_center()
            if self.is_login():
                self.add_have_login_state()
                # 这里要加一个判断cookie是否有效判断,可以通过页面判断
            time.sleep(5)
            self.open_personal_center()
            time.sleep(5)
            self.driver.close()
    
    
    if __name__ == '__main__':
        sl = SkipLogin()
        # sl.write_cookies()
        sl.main()
  • 相关阅读:
    正则表达式 \n和\r
    【转】单循环赛赛程安排算法研究
    Iterator效率
    Map获取键值
    PL/SQL语法详解(pdf)
    Iterator模式
    测试js函数的静态页面
    【转】java的一些基本概念
    Oracle 11g用户解锁
    oracle官方文档
  • 原文地址:https://www.cnblogs.com/lvchengda/p/12627064.html
Copyright © 2011-2022 走看看