zoukankan      html  css  js  c++  java
  • 通过cookies跳过验证码登陆页面,直接访问网站的其它URL

    我每次手动访问去NN网的一家酒店,就不需要登陆,一旦我用脚本打开就会让我登陆,而登陆页面又有验证码,不想识别验证码,所以就想:“通过cookies跳过验证码登陆页面,直接访问网站的其它URL”
     
    转载虫师的文章:
     
     

    之前写过一篇博客:自动化测试如何解决验证码的问题

    介绍了验证码的几种处理方式,最后一种就是通过Cookie跳转过验证码,但讲的不够详细。今天,就详细的介绍一下这种方式。

    准备工具:

    ------------------

    fiddler

    Python+selenium

    ------------------

    以百度登录为例。

    验证码是汉字的,我想通过程序识别起来有点难度,也会比较麻烦。

    接下来开始动手。

    1、开启Fiddler 工具,像这样!

    2、通过浏览器登录正常登录百度账号。像这样!

    3、通过Fiddler获取登录请求的Cookie。找到Host为“passport.baidu.com”的URL,在右侧窗口查看该请求的Cookie。

    然后,找到重要的两个参数“BAIDUID”和“BDUSS”。

    4、编写Selenium自动化测试脚本,跳过登录。

    复制代码
    from selenium import webdriver
    
    driver = webdriver.Chrome()
    driver.get("https://www.baidu.com")
    
    # 添加Cookie
    driver.add_cookie({'name':'BAIDUID','value':'AAAAAAAAAAAAAA:FG=1'})
    driver.add_cookie({'name':'BDUSS','value':'AAAAAAAAAAAAAAAAAAAAAAAAAA'})
    
    # 刷新页面
    driver.refresh()
    
    # 获取登录用户名并打印
    username = driver.find_element_by_class_name("user-name").text
    print(username)
    
    #关闭浏览器
    driver.quit()
    复制代码

    首先,访问百度首页,处于未登录状态。

    然后,通过Selenium所提供add_cookie()方法添加Cookie信息。

    最后,刷新页面,现在已经是登录状态了,获取登录之后的用户名并打印。

    可取到NN网的cookies之后,分不出哪两个是重要的参数,干脆就全部参数添加到cookies里面了,这样居然可以了。

    但另一个问题出了,Firefox崩溃了,如下图

    plugin container for firefox

    转载链接:https://jingyan.baidu.com/article/3aed632e21d2c0701180916c.html

    plugin-container引发火狐浏览器崩溃的解决方案

     

    火狐浏览器是用户常用的浏览器之一,在使用过程中应该有用户遇到过plugin-container.exe异常导致的浏览器崩溃,这种崩溃往往是由Flash造成的。本文介绍一种解决方案,希望对需要的同学有所帮助,也希望可以交流其他更好的手段。

    工具/原料

     
    • firefox浏览器
    • windows

    方法/步骤

     
    1.  

      我们先来看一下plugin-container.exe导致的异常信息:

      plugin-container引发火狐浏览器崩溃的解决方案
    2.  

      打开“我的电脑"->C盘->Program Files->Mozilla Firefox,知道到plugin-container.exe,并将该文件删除:

      plugin-container引发火狐浏览器崩溃的解决方案
    3.  

      关闭火狐浏览器并重启浏览器,这时候一般就能解决这种崩溃,但是为了从根本上避免,我们还需要修改浏览器配置。

      plugin-container引发火狐浏览器崩溃的解决方案
    4.  

      我们继续操作,在Firefox浏览器地址栏输入 about:config并回车:

      plugin-container引发火狐浏览器崩溃的解决方案
    5.  

      在搜索框中输入dom.ipc.plugins.enabled,找到“dom.ipc.plugins.flash.subprocess.crashreporter.enabled”将该值设置为false:

      plugin-container引发火狐浏览器崩溃的解决方案
    6. 6

      到此就结束了

      至此,通过cookies跳过验证码登陆页面,访问网站的其它URL就实现了。好开心………

      可以改进的1)添加cookies参数较多,完全可以用脚本自动添加的,我一个一个复制粘贴的,效率低下。下次改进。

  • 相关阅读:
    Windows下MySQL数据库备份脚本(二)
    pt-query-digest用法
    pt-online-schema-change 实例
    pt-kill使用
    pt-find 使用实例
    利用pt-deadlock-logger监控死锁
    pt-fifo-split使用
    bash{} 方法总结
    python psutil 模块
    Zabbix的安装与部署---问题处理(php65.6.28 mysqli 报错误 处理)
  • 原文地址:https://www.cnblogs.com/yoyoma0355/p/9254097.html
Copyright © 2011-2022 走看看