python+selenium实现免登陆策略 - 携带Chrome浏览器本地缓存打开网站,实现登录

要在Python环境中使用Selenium实现免登录操作,可以通过加载本地的cookie文件来访问网站。以下是具体步骤:

  1. 导入库和模块

    from time import sleep
    from selenium import webdriver
    from selenium.webdriver.chrome.service import Service
    from selenium.webdriver.chrome.options import Options
    from webdriver_manager.chrome import ChromeDriverManager
    
    • time库的sleep函数:用于让程序暂停指定的时间。
    • selenium库:用于自动化Web浏览器操作。
    • webdriver_manager库:用于自动管理WebDriver(如ChromeDriver)的安装。
  2. 定义函数get_cookie

    def get_cookie(url, profile_directory, wait_time=5):
        global driver
        try:
            # 加载配置数据
            options = Options()
            options.add_argument(f'--user-data-dir={profile_directory}')
    
            # 启动浏览器配置
            driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()), options=options)
    
            # 打开指定URL
            driver.get(url)
    
            # 等待页面加载
            sleep(wait_time)
    
        except Exception as e:
            print(f"An error occurred: {e}")
    
        finally:
            # 退出驱动
            driver.quit()
    
    • get_cookie函数:接受三个参数——URL、Chrome浏览器的用户配置文件路径和等待时间。
    • global driver:声明driver变量为全局变量。
    • try块:
      • options = Options():创建Chrome选项对象。
      • options.add_argument(f'--user-data-dir={profile_directory}'):将用户配置文件路径添加到选项中。
      • driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()), options=options):使用webdriver_manager安装的ChromeDriver启动浏览器,并加载用户配置。
      • driver.get(url):打开指定的URL。
      • sleep(wait_time):等待指定时间让页面加载完成。
    • except块:捕捉和打印任何发生的异常。
    • finally块:确保无论是否发生异常,都会退出浏览器。
  3. 主程序块

    if __name__ == '__main__':
        profile_directory = r'C:\Users\user\AppData\Local\Google\Chrome\User Data'  # 替换为你的Chrome个人资料路径
        url = 'https://weibo.com/'
        get_cookie(url, profile_directory, wait_time=5)
    
    • if __name__ == '__main__'::确保该部分代码仅在脚本直接运行时执行,而在被导入时不会执行。
    • profile_directory:Chrome用户配置文件的路径。需要替换为实际的路径。
    • url:要访问的网站URL(这里是微博)。
    • 调用get_cookie函数,传入URL、用户配置文件路径和等待时间。

总结
以上代码会启动一个配置了指定用户资料路径的Chrome浏览器,携带Chrome浏览器本地缓存打开微博网站,实现无需登录即可查看网站内容。

免责声明
本代码仅供研究和学习使用。作者不对因使用本代码而产生的任何直接或间接损害承担责任。

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

风之九子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值