zoukankan      html  css  js  c++  java
  • Selenium3+python自动化013-操作浏览器的Cookie

    为什么要用Cookie?在测试多个页面时候可绕过验证码输入,直接添加cookie,也可以在添加唯一标识时候使用。

    一、操作浏览器的Cookie

     

    1.1、验证码的处理方式

     说明:WebDriver类库中没有对验证码处理的方法,但是在这里可以叙说下针对验证码的几种常用处理方式;

    方式:
    1). 去掉验证码(测试环境下-采用)
    2). 设置万能验证码(生产环境-采用)
    3). 验证码识别技术(通过Python-tesseract来识别图片类型验证码;识别率很难达到100%)
    4). 记录cookie(通过记录cookie进行登录-推荐)

     

    1. 去掉验证码、设置万能验证码:太简单都是开发来完成,我们在这里不做讲解
    2. 验证码识别技术:成功率不高,验证码种类繁多,不太适合;
    3. 记录cookie:比较实用,我们对它进行下讲解;

     

    1.2、Cookie处理流程

     

    步骤顺序需要注意:
    1.先打开页面
    2.添加cookie
    3.刷新页面

    使用Cookie验证

     

    cookie:
    1. Cookie是一小段的文本信息;格式:python中的字典(键值对组成)
    2. Cookie产生:客户端请求服务器,如果服务器需要记录该用户状态,就向客户端浏览器颁发一个Cookie格式
    3. Cookie使用:当浏览器再请求该网站时,浏览器把请求的网址连同该Cookie一同提交给服务器,服务器检查该Cookie,以此来辨认用户状态。

     

    二、加载浏览器指定配置文件(可简单理解为浏览器里的标签),安装已经安装好的插件,记录用户的登录状态

    打开浏览器:输入chrome://version/,查看个人资料路径,我的如下:

    个人资料路径 C:UsersAdministrator.PC-20181218JDBKAppDataLocalGoogleChromeUser DataDefault

    4.1、加载已安装插件

    4.2、记住用户登录状态

    注意:需要保证没有chrome浏览器正在打开,否则运行报错
     1 from selenium import webdriver
     2 from time import sleep
     3 '''
     4 注意:需要保证没有chrome浏览器正在打开,否则运行报错
     5 '''
     6 
     7 # 个人资料路径(chrome://version/,查看个人资料路径,去掉最后的‘Default’)
     8 profile_directory = r'--user-data-dir=C:UsersAdministrator.PC-20181218JDBKAppDataLocalGoogleChromeUser Data'
     9 # 加载配置数据
    10 option = webdriver.ChromeOptions()
    11 option.add_argument(profile_directory)
    12 # 启动浏览器配置
    13 driver = webdriver.Chrome(chrome_options=option)
    14 driver.get('https://www.baidu.com')
    使用谷歌浏览器

     使用火狐浏览器

  • 相关阅读:
    剑指Offers 题目1384:二维数组中的查找
    剪切板获取图片并上传
    VSCode TSlint + Prettier 实现代码的格式化
    Element Table 合并列
    Linux下安装Redis
    transfer 增加拖拽排序组件封装
    在VSCode中使用Git处理文件冲突(pull不能从服务器拉取代码)
    Vue的 transition在v-for的嵌套下怎么用
    Vant的picker组件放在popup中,导致ref获取不到
    小工具
  • 原文地址:https://www.cnblogs.com/liunaixu/p/11158937.html
Copyright © 2011-2022 走看看