web自动化10-窗口截图、验证码处理

2023-07-31,,

窗口截图

1、是什么

  说明:把当前操作的页面,截图保存到指定位置

2、代码中怎么使用?

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

  方法:
    driver.get_screenshot_as_file(imgpath)
        imgpath:图片保存路径

注意事项:

  1、默认使用png格式,.jpg可以使用,但是会有警告

  2、指定图片存放文件路径,需要先手动创建文件夹

3、直接看需求:

  

打开微博首页,完成以下操作
  1). 点击立即注册,填写注册信息手机、密码、生日
  2). 截图保存

cookie

1、验证码
  一种随机生成的信息(数字、字母、汉字、图片、算术题)等为了防止恶意的请求行为,增加应用的安全性。
 
 
2、验证码的处理方式:
方式:
    1). 去掉验证码
              (测试环境下-采用)
    2). 设置万能验证码
              (生产环境和测试环境下-采用)
    3). 验证码识别技术
              (通过Python-tesseract来识别图片类型验证码;识别率很难达到100%)
    4). 记录cookie
              (通过记录cookie进行跳过登录)
 
3、 cookie是什么?
 

    Cookie是由Web服务器生成的,并且保存在用户浏览器上的小文本文件,它可以包含用户相关的信息。
    Cookie数据格式:键值对组成(python中的字典)
    Cookie产生:客户端请求服务器,如果服务器需要记录该用户状态,就向客户端浏览器颁发一个Cookie数据
    Cookie使用:当浏览器再次请求该网站时,浏览器把请求的数据和Cookie数据一同提交给服务器,服务器检查该Cookie,以此来辨认用户状态。

 
4、selenium操作cookie
 
  说明:Selenium中对cookie操作提供相应的方法
  方法:
    1. get_cookie(name) -->   获取指定cookie
      name:为cookie的名称
    2. get_cookies() -->     获取本网站所有本地cookies
    3. add_cookie(cookie_dict) --> 添加cookie
      cookie_dict:    一个字典对象,必选的键包括:"name" and "value"
 
4、看需求:

需求:使用cookie实现跳过登录
1). 手动登录百度,获取cookie
2). 使用获取到的cookie,达到登录目的,然后就可以执行登录之后的操作

 解决:

from selenium import webdriver
import time
driver = webdriver.Firefox()
driver.get("https://www.baidu.com")
driver.add_cookie({'name':'BDUSS','value':'根据实际填写'})
time.sleep(3)
driver.refresh()
time.sleep(3)
driver.quit()

 
 
 
 

web自动化10-窗口截图、验证码处理的相关教程结束。

《web自动化10-窗口截图、验证码处理.doc》

下载本文的Word格式文档,以方便收藏与打印。