通过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
方法/步骤
我们先来看一下plugin-container.exe导致的异常信息:

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

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

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

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

- 6
到此就结束了
至此,通过cookies跳过验证码登陆页面,访问网站的其它URL就实现了。好开心………
可以改进的1)添加cookies参数较多,完全可以用脚本自动添加的,我一个一个复制粘贴的,效率低下。下次改进。
通过cookies跳过验证码登陆页面,直接访问网站的其它URL的更多相关文章
- session过期跳转到登陆页面并跳出iframe框架的两个方法
最近在做拦截器,判断用户登录后操作超时,失去权限然后要重新登录,但是用的iframe,返回的登陆页总是在框架中显示,我百度了下,总是只有其中一个方法,现在分享下两种解决方法,希望对你们有帮助: 方法一 ...
- spring 过滤器- 过滤登陆请求路径(过滤静态资源跳转到登陆页面)
public class LoginedFilter implements Filter { /** * 排除的地址 */ private Map<String, Boolean> ign ...
- 蜘蛛页面 获取一个网站的全部url 乐观代码
蜘蛛页面 from selenium import webdriver import time import random from bs4 import * import pymysql h, pt ...
- session或memcache过期之后跳转到登陆页面并跳出iframe框架
<!--在你想控制跳转的页面,比如login.html中的<head>与</head>之间加入以下代码:--> <script> if (window ...
- JSP中解决session超时跳转到登陆页面并跳出iframe框架或局部区域的方法
当session会话超时,页面请求被重新定位到了登陆界面.但登录界面在iframe中的解决方案:在登录页面中加入下面的js代码: <script type="text/javascri ...
- Jsp中解决session过期跳转到登陆页面并跳出iframe框架的方法
1.可以用javaScript解决在你想控制跳转的页面,比如login.jsp中的<head>与</head>之间加入以下代码: <script language=”Ja ...
- session失效后跳转到登陆页面
一.编写Filter拦截器类 package com.pv.utils; import java.io.IOException; import java.io.PrintWriter; import ...
- session过期跳转到登陆页面并解决跳出iframe问题
首先,先转载如下这篇博主写的关于后台系统使用iframe不能跳出的问题,地址:https://blog.csdn.net/xiaocen99/article/details/38521649 在ifr ...
- iframe session过期跳转到登陆页面
在login.jsp中添加js: if(window !=top){ top.location.href=location.href; } <script type="text/jav ...
随机推荐
- 前缀和与差分之IncDec sequence
参考链接:https://blog.csdn.net/hzk_cpp/article/details/80407014 题目链接:https://www.acwing.com/problem/cont ...
- qt无法定位程序输入点 于动态链接库 qt5core.dll
造成步骤:一开始是将现成的dll[Qt5.9.3]放在文件夹里,然后使用Qt5.7.1编译的exe放进去,产生标题错误 原因:dll库不匹配 解决:使用Qt5.7.1自带的cmd命令行,使用winde ...
- spring配置jax-ws
在spring配置文件中新建bean(或者是在配置文件中添加bean),在该bean中添加指定的访问地址. @Bean public static SimpleJaxWsServiceExporter ...
- iOS开发 -------- UITableView的编辑
一 核心API Class: UITableView Delegate: UITableViewDataSource, UITableViewDelegate 涉及到的API: 插入和删除 1 /** ...
- Git冲突与解决方法【转】
本文转载自:https://www.cnblogs.com/gavincoder/p/9071959.html Git冲突与解决方法 1.git冲突的场景 情景一:多个分支代码合并到一个分支时: 情景 ...
- luogu P2713 罗马游戏
思路 模拟就好 左偏树合并 并查集寻找 代码 #include <bits/stdc++.h> #define FOR(i,a,b) for(int i=a;i<=b;++i) us ...
- 奇怪的比赛|2012年蓝桥杯B组题解析第四题-fishers
(8')奇怪的比赛 某电视台举办了低碳生活大奖赛.题目的计分规则相当奇怪: 每位选手需要回答10个问题(其编号为1到10),越后面越有难度.答对的,当前分数翻倍:答错了则扣掉与题号相同的分数(选手必须 ...
- AtCoder Beginner Contest 120 解题报告
为啥最近都没有arc啊... A - Favorite Sound #include <algorithm> #include <iostream> #include < ...
- 牛客OI周赛7-普及组 解题报告
出题人好评. 评测机差评. A 救救喵咪 二位偏序.如果数据范围大的话直接树状数组,不过才1000就\(O(n^2)\)暴力就ok了. #include <bits/stdc++.h> s ...
- C# 各种控件实现可拖动和调整大小
http://www.360doc.com/content/18/0516/12/55659281_754382494.shtml using System; using System.Collect ...