7 窗口截图、验证码处理

窗口截图、验证码处理

1 截图

  • 把当前操作页面的截图保存到指定位置
  • 自动化脚本是由程序去执行的,因此有时候打印的错误信息并不是十分明确。如果在执行出错的时候对当前 窗口截图保存,那么通过图片就可以非常直观地看到出错的原因。

1.1 窗口截图

说明:在WebDriver类库中,提供了截图方法,我们只需要调用即可;

方法:
    1). get_screenshot_as_file(imgpath)  截取当前窗口
        (imgpath:图片保存路径)

2 验证码

  • 一种随机生成的信息(图片、数字、字母、汉字、算术题)等为了防止恶意的请求行为,增加应用的安全性。
  • 在Web应用中,大部分系统在用户登陆的时候都要求输入验证码,而我们在设计自动化脚本时候,就需要面

2.1 验证码的处理方式

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

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

提示:

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

2.2 cookie

cookie:
    1. Cookie是一小段的文本信息;格式:python中的字典(键值对组成)
    2. Cookie产生:客户端请求服务器,如果服务器需要记录该用户状态,就向客户端浏览器颁发一个Cookie格式
    3. Cookie使用:当浏览器再请求该网站时,浏览器把请求的网址连同该Cookie一同提交给服务器,服务器检
       查该Cookie,以此来辨认用户状态。
说明:
    1. 用户第一次登陆时,勾选下次直接登陆或者记住密码,就是采用记录cookie实现的
    2. cookie内记录用户名和密码(加密)信息,只要请求时服务器收到cookie,就识别成功,默认为已登陆。

2.2.1 记录cookie

说明:
    1. WebDriver中对cookie操作提供相应的方法

方法:
    1. get_cookie(name)                    --> 获取指定cookie
       (name:为健名)
    2. get_cookies()                    --> 获取本网站所有本地cookies
    3. add_cookie(str)                    -->    添加cookie
       (str:为python中的字典格式)

原文地址:https://www.cnblogs.com/shibojie/p/11726977.html

时间: 2024-08-25 22:03:26

7 窗口截图、验证码处理的相关文章

窗口截图

窗口截图,可以获取遮挡窗口完整的图像,并保存到bmp文件中去.主要用到的函数中PrintWindow,VC6不支持该函数,请使用VS2008来编译.其它需求如平台要求请参考MSDN文档. 1 void SaveHwndToBmpFile(HWND hWnd, LPCTSTR lpszPath) 2 { 3 HDC hDC = ::GetWindowDC(hWnd); 4 ASSERT(hDC); 5 6 HDC hMemDC = ::CreateCompatibleDC(hDC); 7 ASSE

asp.net获取屏幕截图、活动窗口截图

Rectangle R = System.Windows.Forms.Screen.PrimaryScreen.Bounds;//获取活动窗口截图 //Rectangle R = System.Windows.Forms.Screen.PrimaryScreen.WorkingArea;//获取整个屏幕截图 System.Drawing.Image img = new Bitmap(R.Width, R.Height); Graphics G = Graphics.FromImage(img);

Python+selenium之窗口截图

自动化用例是由程序去执行,因此有时候打印的错误信息并不明确,如果在脚本执行错误的时候能对当前窗口截图保存,那么通过图片就可以非常直观的看出出错的原因.webdriver提供了截图函数get_screenshot_as_file()来截取当前创窗口. 1 from selenium import webdriver 2 from time import sleep 3 driver = webdriver.Firefox() 4 driver.get("http://www.baidu.com&q

windows程序开发窗口截图实现一

1.2编写窗口截图 本次选择窗口截图一共3步:鼠标按下.移动.弹起. 知识点:改变鼠标图标.截图函数封装.窗口画图 本节新学习AIP: LoadCursor SetCursor(m_hCursor); SetCapture(); CreateDC CreateCompatibleDC CreateCompatibleBitmap ClientToScreen WindowFromPoint CreateSolidBrush FrameRect -------------.. 视频观看地址: ht

selenium基础(窗口截图)

窗口截图 目的:当脚本执行出错时对当前窗口进行截图 方法:get_screenshot_as_file() #打开百度首页,搜索“selenium",完成后进行截图,并将结果保存至D:/test.png from selenium import webdriver import time driver=webdriver.Firefox() driver.maximize_window() driver.get("https://www.baidu.com") driver.

Selenium 2自动化测试实战23(窗口截图)

一.窗口截图 WebDriver提供了截图函数get_screenshot_as_file()来截取当前窗口. # -*- coding: utf-8 -*- from selenium import webdriver from time import sleep from selenium.webdriver.common.keys import Keys driver=webdriver.Chrome() driver.get("http://www.baidu.com") dr

Selenium实战(三)——滑动解锁+窗口截图

一.简单滑块的实例 当单机滑块时,改变的只是CSS样式,HTML代码如下: 1 <div class="slide-to-unlock-progress" style="background-color: rgb(255, 233, 127); height: 36px;"></div> 2 <div class="slide-to-unlock-handle" style="background-colo

窗口截图.py

from selenium import webdriverfrom time import sleepdriver = webdriver.Firefox()driver.get("http://www.baidu.com")driver.find_element_by_id("kw").send_keys("selenium")driver.find_element_by_id("su").click()sleep(2)#

webdriervAPI(窗口截图)

from  selenium  import  webdriver driver  =  webdriver.Chorme() driver.get("http://www.baidu.com") 截取当前窗口,并指定截图图片的存放位置 发现python3在截图时只支持png的图片格式 driver.get_screenshot_as_file("C:\Users\Public\Pictures\error.png") driver.quit() 原文地址:http