python开发过程中,有时候需要执行截图或铺数类的任务,这个时候就需要浏览器操作才能完成,那么执行任务的前提就是浏览器先登录进网站。
登录进网站的方式又大致分为两类
1、浏览器模拟登录,从最开始的登录页开始模拟,一步步进入站点内,缺点就是比较慢,优点就是发生异常能够直观看到哪一步出现了问题,及时做出调整
2、提前获取cookie,比如使用requests或手动复制后做保持,再塞入浏览器中。优点就是快,缺点就是可能需要做加解密、逆向等操作
两种方式,在实际开发项目中是都需要做的,requests后台登录优先,browser浏览器作为补偿,防止突发状况
最近在开发过程中,遇到一种情况。后台登录获取到了cookie,但是cookie在塞入浏览器的过程中,出现了一些异常,总之就是cookie不匹配,怀疑是cookie中的一些值太大造成的。当然经过测试,找到了一种解决的方法。
localStorage.setItem()方法,它的解释可以自行百度,这里直接贴上代码
提示:执行前需要访问特定的页面
browser.execute_script(f"""
window.localStorage.setItem("token", "{token}");
window.localStorage.setItem("new_key16", "{new_key}");
""")
直接使用browser执行localStorage.setItem方法,将一些cookie中的值保存到本地,能够完美绕过一些问题
欢迎评论。。。。。