我每次手动访问去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导致的异常信息:

  2.  

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

  3.  

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

  4.  

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

  5.  

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

  6. 6

    到此就结束了

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

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

通过cookies跳过验证码登陆页面,直接访问网站的其它URL的更多相关文章

  1. session过期跳转到登陆页面并跳出iframe框架的两个方法

    最近在做拦截器,判断用户登录后操作超时,失去权限然后要重新登录,但是用的iframe,返回的登陆页总是在框架中显示,我百度了下,总是只有其中一个方法,现在分享下两种解决方法,希望对你们有帮助: 方法一 ...

  2. spring 过滤器- 过滤登陆请求路径(过滤静态资源跳转到登陆页面)

    public class LoginedFilter implements Filter { /** * 排除的地址 */ private Map<String, Boolean> ign ...

  3. 蜘蛛页面 获取一个网站的全部url 乐观代码

    蜘蛛页面 from selenium import webdriver import time import random from bs4 import * import pymysql h, pt ...

  4. session或memcache过期之后跳转到登陆页面并跳出iframe框架

    <!--在你想控制跳转的页面,比如login.html中的<head>与</head>之间加入以下代码:--> <script> if (window ...

  5. JSP中解决session超时跳转到登陆页面并跳出iframe框架或局部区域的方法

    当session会话超时,页面请求被重新定位到了登陆界面.但登录界面在iframe中的解决方案:在登录页面中加入下面的js代码: <script type="text/javascri ...

  6. Jsp中解决session过期跳转到登陆页面并跳出iframe框架的方法

    1.可以用javaScript解决在你想控制跳转的页面,比如login.jsp中的<head>与</head>之间加入以下代码: <script language=”Ja ...

  7. session失效后跳转到登陆页面

    一.编写Filter拦截器类 package com.pv.utils; import java.io.IOException; import java.io.PrintWriter; import ...

  8. session过期跳转到登陆页面并解决跳出iframe问题

    首先,先转载如下这篇博主写的关于后台系统使用iframe不能跳出的问题,地址:https://blog.csdn.net/xiaocen99/article/details/38521649 在ifr ...

  9. iframe session过期跳转到登陆页面

    在login.jsp中添加js: if(window !=top){ top.location.href=location.href; } <script type="text/jav ...

随机推荐

  1. 12: xlrd 处理Excel文件

    1.1 xlrd处理.xlsx 文件 1.xlrd常用方法 #!/usr/bin/python # coding:utf-8 # 用xlrd读取Excel文件基本用法 import sys impor ...

  2. SQLServer和MySql的区别总结

    SqlServer支持like '%'+'87'+'%' 拼接字符串  但MySql里不支持,只能用CONCAT('%','87','%')拼接,否则异常 1.递归函数的区别类别表CREATE TAB ...

  3. 20165310 NetSec2019 Week5 Exp3 免杀原理与实践

    20165310 NetSec2019 Week5 Exp3 免杀原理与实践 一.免杀原理 杀软是如何检测出恶意代码的 基于特征码的检测:特征码就是一段恶意程序有但是正常程序没有的一段代码,当杀软检测 ...

  4. QML手动连接信号槽【Connections】

    1.使用Connections import QtQuick 2.6 import QtQuick.Window 2.2 import QtQuick.Controls 1.4 Window { vi ...

  5. mysql安装方式

    1.进入mysql官网https://www.mysql.com/,选择downloads——community——mysql community server,然后在下面选择版本后点击downloa ...

  6. uniGUI试用笔记(十一)

    最近研究了一下UniGUI的TuniDBGrid,记录一下免得忘记了. TuniDBGrid的重要属性包括: 1.列—TUniDBGridColumns和TUniDBGridColumn 每个列对象( ...

  7. FireMonkey 源码学习(3)

    五.TTextLayoutNG 在FMX.TextLayout.GPU.pas文件中,实现了几个基础功能,其中: (1)渲染单元 在TextLayout中,每一批同字体和颜色的1~n个字符,组成一个最 ...

  8. 2-sat相关复习

    2-sat相关复习 noi曾经考过,谁能说得准呢 sat问题 通俗的sat问题表述一般是这样的:有很多个集合,每个集合里面有若干元素,现给出一些取元素的规则,要你判断是否可行,可行则给出一个可行方案. ...

  9. SpringBoot 使用jwt进行身份验证

    这里只供参考,比较使用jwt方式进行身份验证感觉不好,最不行的就是不能退出 登陆时设定多长过期时间,只能等这个时间过了以后才算退出,服务端只能验证请求过来的token是否通过验证 Code: /** ...

  10. 用dbms_scheduler创建job

    以前一般使用dbms_job来创建job,oracle10g以后推荐使用dbms_scheduler来创建定时任务,dbms_scheduler功能更为强大.一个创建job的例子: begin sys ...