关闭

利用selenium 设定 cookies 的方法

发表于:2024-8-02 09:16

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:佚名    来源:51CTO博客

  为什么要用Cookie?在测试多个页面时候可绕过验证码输入,直接添加cookie,也可以在添加唯一标识时候使用。
  一、操作浏览器的Cookie
  1.1、验证码的处理方式
  说明:WebDriver类库中没有对验证码处理的方法,但是在这里可以叙说下针对验证码的几种常用处理方式。
  1). 去掉验证码(测试环境下-采用)
  2). 设置万能验证码(生产环境-采用)
  3). 验证码识别技术(通过Python-tesseract来识别图片类型验证码;识别率很难达到100%)
  4). 记录cookie(通过记录cookie进行登录-推荐)
  其中去掉验证码、设置万能验证码太简单都是开发来完成,我们在这里不做讲解;验证码识别技术成功率不高,验证码种类繁多,不太适合;记录cookie比较实用,我们对它进行下讲解。
  1.2、Cookie处理流程
  步骤顺序需要注意:
  1.先打开页面
  2.添加cookie
  3.刷新页面
  Cookie:
  1. Cookie是一小段的文本信息;格式:python中的字典(键值对组成)
  2. Cookie产生:客户端请求服务器,如果服务器需要记录该用户状态,就向客户端浏览器颁发一个Cookie格式
  3. Cookie使用:当浏览器再请求该网站时,浏览器把请求的网址连同该Cookie一同提交给服务器,服务器检查该Cookie,以此来辨认用户状态。
  二、加载浏览器指定配置文件(可简单理解为浏览器里的标签),安装已经安装好的插件,记录用户的登录状态。
  打开浏览器:输入chrome://version/,查看个人资料路径,我的如下:
  C:\Users\Administrator.PC-20181218JDBK\AppData\Local\Google\Chrome\User Data\Default
  记住用户登录状态
  注意:需要保证没有chrome浏览器正在打开,否则运行报错。
   from selenium import webdriver
    from time import sleep
    '''
    注意:需要保证没有chrome浏览器正在打开,否则运行报错
    '''
    # 个人资料路径(chrome://version/,查看个人资料路径,去掉最后的‘\Default’)
    profile_directory = r'--user-data-dir=C:\Users\Administrator.PC-20181218JDBK\AppData\Local\Google\Chrome\User Data'
    # 加载配置数据
   option = webdriver.ChromeOptions()
   option.add_argument(profile_directory)
   # 启动浏览器配置
   driver = webdriver.Chrome(chrome_options=option)
   driver.get('https://www.baidu.com')
  本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理
《2024软件测试行业从业人员调查问卷》,您的见解,行业的声音!

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号