zoukankan      html  css  js  c++  java
  • selenium验证码处理之cookie登录

    在实际测试中会经常见到登录操作需要验证码验证登录

    常见验证有以下几种:

    1. 验证码登录
    2. 图片识别  

             

    3. 图片滑块识别验证

                      

     

          4.简单验证码计算

    针对上面的登录验证解决办法有以下几种:

    1.让开发去掉验证码(注释掉验证码相关代码)

    2.设置万能验证码  (只适用于第一种验证码)

    3 .验证码识别技术 (主要针对图片识别)

           python的pytesseract库用于验证码识别

    4.使用cookie记录登录,自动化脚本绕过验证环节

    下面主要介绍使用cookie登录,以博客园为列,其他解决办法后面有时间再进行补充:

    博客园登录验证为上图第三种:图片滑块识别验证

    博客园登录页面:

    第一步:获取cookie

    首先编写登录脚本如下:

     ##登录时记得选择记住密码

     1 from selenium import webdriver
     2 from time import sleep
     3 
     4 Dirver = webdriver.Chrome()
     5 Dirver.maximize_window()
     6 Dirver.get("https://account.cnblogs.com/signin")
     7 Dirver.implicitly_wait(10)
     8 Dirver.find_element_by_id('LoginName').send_keys('username')
     9 Dirver.find_element_by_id('Password').send_keys('password')
    10 sleep(60)
    11 
    12 #代码运行到此处时,手动点击登录按钮并进行图片滑块验证,完成后,以下代码会获取登录成功后的页面cookie
    13 
    14 cookies = Dirver.get_cookies()  
    15 print(cookies)
    16 Dirver.quit()


    第二步:根据获取的cookie进行登录

     1 from selenium import webdriver
     2 from time import sleep
     3 
     4 
     5 Dirver = webdriver.Chrome()
     6 Dirver.maximize_window()
     7 Dirver.get("https://home.cnblogs.com/")
     8 Dirver.implicitly_wait(10)
     9 Dirver.add_cookie({'name':' ','value':''})  #输入第一步得到的值
    10 Dirver.add_cookie({'name':'','value':''})
    11 sleep(10)
    12 Dirver.get("https://home.cnblogs.com/")
    13 username = Dirver.find_element_by_css_selector('#header_user_right a:nth-child(2) ').text  #获取用户名
    14 print(username)
    15 welcome = Dirver.find_element_by_id('header_user_left').text
    16 print(welcome)  #获取欢迎字样
    17 sleep(3)
    18 
    19 Dirver.quit()

    登陆成功后的页面如下:

    关于自动化测试中的验证码登录的其他解决办法后续将一一补充

    当你试图去用自己的言语去讲清一些事物时,你会明白对此事物的理解是融会贯通还是一知半解
  • 相关阅读:
    js getAttribute()和setAttribute()方法
    FCKeditor上传图片显示叉叉的问题的解决方案
    数据导出
    插入多种格式的网页播放器
    注册机...郁闷..
    AJAX效果
    2003下使用JMAIL问题解决办法
    ASP无组件上传带进度条
    MSSQL查询题解
    在线转flv+flash在线录制视频
  • 原文地址:https://www.cnblogs.com/1211-1010/p/11090727.html
Copyright © 2011-2022 走看看