selenium基础-跳过验证码

一、方法

  • 设置万能验证码或者屏蔽验证码(最常用的方法)
  • 使用验证码识别工具识别验证码
  • 通过selenium操作cookies
  • 直接使用配置文件的webdriver

二、用selenium操作cookie绕过验证码

  cookies和session都是有服务器生成,cookie将保留在浏览器本地,session记录在服务器端

cookie的几大属性

  • name:名字(键),cookies的必须字段
  • values:值
  • domain:域,cookie的作用域名
  • path:表示路径,/表示当前域名下所有的网页都能使用该cookie
  • domain和path结合在一起使用限定了cookie的使用范围
  • expires:生命周期,限定cookie的使用时间。如果生命周期中有session的说明cookie只在当前回话中有效,关闭浏览器后立即失效
  • sessionID:本次访问回话留下的ID

 通过sessionID加载cookie

通过sessionID的键和值来确定cookie

from selenium import webdriver
import time driver=webdriver.Firefox()
driver.get('https://www.baidu.com')
time.sleep(3)
#加载cookie
driver.add_cookie({'name':'BDUSS','value':'NiTDdnM0dLcGYxfkRWVnk1anFUdmRNemsxYWIzNlJDcWJHLU1WNkduOEZ
    nNWhkRVFBQUFBJCQAAAAAAAAAAAEAAAApKJxdtLrM7MDvMTAyNQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAX2cF0F9nBddX'})
driver.refresh()
time.sleep(3)
driver.quit()

selenium基础-跳过验证码的更多相关文章

  1. Selenium基础知识(九)验证码

    关于Selenium处理验证码总结下: 1.去掉验证码(这个为了测试,去掉可能性不大) 2.万能验证码(让开发给做一个万能验证码,可能性也不大) 3.OCR光学识别,python包Python-tes ...

  2. selenium基础-图形验证码

    selenium基础-图形验证码 一.图形验证码作用 设计的初衷其实就是为了防自动化,防止一些人利用自动工具恶意攻击网站 二.图形验证码是由客户端生成还是由服务器端生成的? 图形验证码是由服务器端生成 ...

  3. 【Python爬虫】selenium基础用法

    selenium 基础用法 阅读目录 初识selenium 基本使用 查找元素 元素互交操作 执行JavaScript 获取元素信息 等待 前进后退 Cookies 选项卡管理 异常处理 初识sele ...

  4. 通过cookies跳过验证码登陆页面,直接访问网站的其它URL

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

  5. requests库使用:通过cookie跳过验证码登录,并用Session跨请求保持cookie

    拿我平时测试的一个系统为例,从UI层面来说必须先登录才可以进行后续操作,但是我在测试接口文档提供的接口时,发现并不需要登录,每个接口只要传参就可以正常返回.原因是我们这边专门弄了一个接口包来统一管理常 ...

  6. Selenium | 基础入门 | 截屏并保存于本地

    可先参考   Selenium | 基础入门 | 利用Xpath寻找用户框 核心代码: //截屏操作 File srcFile = ((TakesScreenshot)driver).getScree ...

  7. web 自动化测试 selenium基础到应用(目录)

    第一章   自动化测试前提及整体介绍 1-1功能测试和自动化测试的区别 1-2自动化测试流程有哪些 1-3自动化测试用例和手工用例的区别 1-4 自动化测试用例编写 1-5 selenium的优势以及 ...

  8. selenium基础(下拉菜单操作)

    selenium基础(下拉菜单操作) 非select/option元素: 1.触发下拉列表出现 2.等待下拉列表中的元素出现,然后进行选择元素即可. select/option元素: 下拉框操作-Se ...

  9. selenium基础(脚本模块化)

    selenium基础(脚本模块化)

随机推荐

  1. FastJson乱序问题

    1.初始化为有序json对象 JSONObject jsonOrdered= new JSONObject(true); 2.将String对象转换过程中,不要调整顺序 JSONObject json ...

  2. Java-Class-FC:java.lang.StringBuilder

    ylbtech-Java-Class-FC:java.lang.StringBuilder 1.返回顶部   2.返回顶部 1. @Override public String toString() ...

  3. (转)VS2015基础 指定一个或多个项目执行 - 心少朴的博客

           慈心积善融学习,技术愿为有情学.善心速造多好事,前人栽树后乘凉.我今于此写经验,愿见文者得启发. 这个解决方案下,有两个项目, 看到黑体的project了吗?它就是指定执行的项目. 这两 ...

  4. 【Linux】- Systemd 实战篇

    转自:阮一峰的网络日志 一.开机启动 对于那些支持 Systemd 的软件,安装的时候,会自动在/usr/lib/systemd/system目录添加一个配置文件. 如果你想让该软件开机启动,就执行下 ...

  5. CentOS7 网卡配置文件解释

    注:此网卡配置文件摘自CentOS7.4.1708系统 Linux 默认配置网卡的信息 TYPE=Ethernet 网卡类型:以太网 PROXY_METHOD=none 代理方式:关闭状态 BROWS ...

  6. laydate box-sizingCSS就会变形

    *{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;/* box-sizing:border-box; */} 解决:在/laydat ...

  7. Android四大组件之Service浅见

    Service 是Android四大组件之一,可以在不显示界面的情况下在后台运行.还有一个作用是通过AIDL来实现进程间通信. Service的启动方式 Service的启动方式有两种,startSe ...

  8. UserCF算法和ItemCF算法的对比

  9. 小波变换C代码

    #include <stdio.h> #include <stdlib.h> #define LENGTH 512//信号长度 /*********************** ...

  10. C—变量—register

    Tips 1.寄存器变量可以用来优化加速c语言程序 2.声名只需在类型前多加register 即可,eg register int quick; (quick 就是一个整形的寄存器变量) 3.regi ...