Selenium—通过cookies跳过验证码登录

通过cookies跳过验证码登录

  现在很多的登录都需要验证,而验证相对复杂,需要花费大量的时间,那么我们就可以通过cookie,来跳过登录

cookie怎么获取

  我们可以通过手动登录,来获取登录时的cookie值

    • 通过Fiddler抓包获取cookie值
    • 通过开发者工具--Network 中获取cookie值
    • https://www.gglott.com.cn/WXDefault.aspx?home=1 登录为例

添加cookie

  • driver.add_cookie()

思路:

  1. 手动登录获取到 cookie 信息
  2. selenium 打开的 url 为登录后的 url
  3. 增加 cookie 操作
  4. 刷新页面

代码如下:

from selenium import webdriver
import time

url = ‘https://www.gglott.com.cn/WXDefault.aspx?home=1‘
driver = webdriver.Chrome()
driver.get(url)

# 添加Cookie
# 将 fiddler 中抓到的 cookie 放到对应值中
driver.add_cookie({‘name‘: ‘UM_distinctid‘, ‘value‘: ‘16b40aa1fd-453beb6d816-100200-40aa402418c‘})
driver.add_cookie({‘name‘: ‘CNZZDATA1264318323‘, ‘value‘: ‘10965-1571-%7C1038‘})
driver.add_cookie({‘name‘: ‘ASP.NET_SessionId‘, ‘value‘: ‘w0jpzfiycjnm‘})

# 刷新页面
driver.refresh()

driver.implicitly_wait(3)

# 如果不加cookie 执行该步操作,则会提示登录
# 点击胜平负200
driver.find_element_by_xpath(‘//ul[@id="iconsBox"]//a[@href="/WXDefault.aspx?dc=200"]‘).click()

time.sleep(5)
driver.quit()

原文地址:https://www.cnblogs.com/wilson-5133/p/10997934.html

时间: 2024-11-10 15:15:58

Selenium—通过cookies跳过验证码登录的相关文章

Selenium自动化测试:如何使用cookie跳过验证码登录

对于一般的登录网站来说,都会有验证码这个东西,一般是为了安全考虑,处于某种安全策略,这就对我们做UI自动化测试的出了难题,正常我们可以输入用户名,密码进行登录,那如果弹出验证码该如何处理,取浏览器cookie是个不错的选择 推荐chrome插件 EditThisCookie,可以直接查看当前所在的网站正在使用的cookie,对于我们登录来说,我们需要模拟的自动登录,一般都会有用户信息的cookie存在里面,我们不需要全部拿出来,只需要跟开发沟通确认是哪一个或那几个cookie有用即可. 如上述代

关于验证码登录

在爬取某些网站,有些需要登录才能获取访问权限.如果仅仅只是需要登录,这里可以推荐大家一个工具,很好用的 在火狐浏览其中有个插件firebug(需要安装),通过这个插件可以详细的查看网站的访问过程(链接的跳转和访问先后顺序),以及每次链接的请求头信息.响应头信息,同时也可以查看post提交的数据.当然在IE和谷歌浏览器中也有些开发工具,F12直接唤出,但是个人感觉火狐的firebug比较好用,IE的和谷歌的,我也偶尔使用. 通过上面介绍的工具可以获取模拟的详细过程,然后模拟登录,都是很容易的事.

selenium处理极验滑动验证码

要爬取一个网站遇到了极验的验证码,这周都在想着怎么破解这个,网上搜了好多知乎上看到有人问了这问题https://www.zhihu.com/question/28833985,我按照这思路去大概实现了一下. 1.使用htmlunit(这种方式我没成功,模拟鼠标拖拽后轨迹没生成,可以跳过) 我用的是java,我首先先想到了用直接用htmlunit,我做了点初始化 private void initWebClient() { if (webClient != null) { return; } we

python验证码登录

如何跳过验证码去登录系统: 1.最简便的方法就是让开发提供你一个万能验证码,这样就可以直接使用万能验证码登录 2.添加cookie登录信息,绕过验证码登录 Driver.add_cookie()      add_cookie()括号里的参数一定要有name,value的参数,例: driver.add_cookie({'name':'loginType','value':'1'}) 添加的cookie参数是 'loginType':’1’ 3.如果登录信息存放在loacalstorage中的话

Membership添加验证码登录

1.在公共类ImageHelper中编写公共方法,产生随机验证码 /// <summary> /// 产生随机验证码 /// </summary> /// <returns></returns> public string GetString() { string randString = ""; Random random = new Random(); do { //使用DateTime.Now.Millisecond作为生成随机数的

Spring Security 实现手机验证码登录

思路:参考用户名密码登录过滤器链,重写认证和授权 示例如下(该篇示例以精简为主,演示主要实现功能,全面完整版会在以后的博文中发出): 由于涉及内容较多,建议先复制到本地工程中,然后在细细研究. 1.   新建Maven项目  sms-code-validate 2.   pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchem

vue实现短信验证码登录

无论是移动端还是pc端登录或者注册界面都会见到手机验证码登录这个功能,输入手机号,得到验证码,最后先服务器发送请求,保存登录的信息,一个必不可少的功能 思路 1,先判断手机号和验证是否为空, 2,点击发送验证码,得到验证码 3,输入的验证码是否为空和是否正确, 4,最后向服务发送请求 界面展示 1.准备工作 这个会对input进行封装处理 <template> <div class="text_group"> <div class="input_

在Iframe框架下如何跳转到登录界面

在Iframe框架下跳转到登录界面总会跳到子界面中,类似于下图 试用Respon.Redirect()不行, 用Js函数,但我跳转代码都是写在cs文件中的,用Respose.write(),js函数根本没有执行. 最后看到一文章,在后台用Respon.Redirect(),而在登录界面中加入js,如下代码 <script language="JavaScript" type="text/javascript"> if (window != top) to

怎么实现登录之后跳转到登录之前的页面?SpringMVC+Freemarker

项目中,想实现一个功能. 直接访问某个需要登录的url,比如/addArticle,可能会跳转到登录页面login.html. 登录成功之后,自动跳转到/addArticle这个登录前的页面,继续登录之前的操作. 思路很简单: 登录拦截器,获得backurl,    String backUrl=request.getRequestURI(); //返回到原来的页面,而不是系统配置的首页,更友好 response.sendRedirect(loginUrl + "?backurl="