python-webdriver中添加cookie,解决添加了图片验证码的问题
2024-09-06 19:36:07
遇到问题:之前一直能用的脚本突然跑不通了,仔细一看原来是研发新加了图片验证码......
解决问题: 手动抓取了cookie并塞进去,解决问题。当然如果你的cookie有效期太短或者是随着会话关闭就失效的,此办法并不合适。
代码第一版:
def Login(driver):
cookies = { 'name': 'wx_sid', 'value': '43064da8ec6a117d16c34b59bdf6116abys4s99***'}
driver.add_cookie(cookies)
driver.get("http://admin.***.com/index/login")
driver.quit()
if __name__=='__main__':
driver = webdriver.Chrome(executable_path="d:\\chromedriver")
Login(driver) 执行时发现启动浏览器后没有访问指定的地址,在网上查资料原因是 塞cookie时找不到塞到哪里。 解决办法是加入domain或者先访问一下要塞入地址的链接。 代码第二版:
def Login(driver): driver.get("http://admin.***.com/index/login")
cookies = { 'name': 'wx_sid', 'value': '43064da8ec6a117d16c34b59bdf6116abys4s99***','path': '/','domain': '.admin.***.com'}
driver.add_cookie(cookies)
driver.get("http://admin.***.com/index") if __name__=='__main__':
driver = webdriver.Chrome(executable_path="d:\\chromedriver")
Login(driver)
先访问后发现还是塞不进去,再查资料,解决办法是需要刷新一下页面。 代码第三版:
def Login(driver): driver.get("http://admin.***.com/index/login")
cookies = { 'name': 'wx_sid', 'value': '43064da8ec6a117d16c34b59bdf6116abys4s99***','path': '/','domain': '.admin.***.com'}
driver.add_cookie(cookies)
driver.refresh() # 刷新页面
driver.get("http://admin.***.com/index") if __name__=='__main__':
driver = webdriver.Chrome(executable_path="d:\\chromedriver")
Login(driver) 刷新后终于成功了,切换环境,从测试环境切到线上环境,再次执行又失败了,反复找原因,终于.... 线上环境用的cookie name是wx这个,测试环境由于跟其他冲突研发自己改成了wx_sid... 所以提醒小伙伴,这个cookie到底应该用哪个最好还是跟对应研发确认好。
最终版线上环境代码:
def Login(driver): driver.get("http://admin.***.com/index/login")
# 线上环境
cookies = { 'name': 'wx', 'value': '43064da8ec6a117d16c34b59bdf6116abys4s99***','path': '/','domain': '.admin.***.com'}
driver.add_cookie(cookies)
driver.refresh()
driver.get("http://admin.***.com/index") if __name__=='__main__':
driver = webdriver.Chrome(executable_path="d:\\chromedriver")
Login(driver)
最新文章
- 琴弦文字 - jquery插件
- SqlServer性能优化分割提升性能分布式视图(七)
- Javascript实现CheckBox的全选与取消全选的代码(转)
- oracle PL/SQL管理命令语句
- 定时从远程的数据库中取数据,然后把取出来的数据插入或更新本地的oracle数据库的表
- [Git] Git 常用技巧
- 1343. Fairy Tale
- K2 Blackpearl开发技术要点(Part2)
- 10款无限滚动自动翻页jquery插件
- LINUX下 Udev详解
- OpenStack导入镜像后Launch不起来的几个问题
- 利用flashBack恢复误删除(delete)的表数据
- ConOS安装mysql5.7 及简单配置
- Mysql 查询重复的记录
- oracle追加表空间
- iOS获取崩溃日志
- 如何在Eclipse上使用SVN,安装、提交、拉取代码、解决冲突等操作
- unigui日志
- 手动封装on,emit,off
- Alpha冲刺! Day4 - 磨刀
热门文章
- LC 759. Employee Free Time 【lock, hard】
- 【React自制全家桶】三、React使用ref操作DOM与setState遇到的问题
- 数据库报错:OracleDialect does not support identity key generation
- 阶段3 3.SpringMVC·_04.SpringMVC返回值类型及响应数据类型_3 响应之返回值是void类型
- 1031: [编程入门]自定义函数之字符串反转(python)
- Vim常用操作集合
- 吉首大学2019年程序设计竞赛-F 天花乱坠
- [转帖]看完这篇文章,我奶奶都懂了https的原理
- mysql拆分逗号一列变多行
- 从零开始,SpreadJS 新人学习笔记