当进行Python的Web自动化时,会涉及到验证码问题,该如何跳过执行呢,下面请看代码:

1、首先新建配置文件*.ini格式

config.ini

[db]

#基础地址:
baseurl = http://192.168.xxx #参数:
m_user = 13077997162
m_pass = 123456

2、调用configparser模块进行读取文件操作,没有的自行下载

login.py

import configparser

def mlogin():
'''
登录函数
:return:【cookie】:value
'''
cf = configparser.ConfigParser()
cf.read("./config.ini")
baseurl = cf.get("db", "baseurl")
#接口地址
url = baseurl + "/Admin/Account/loginupdate.html"
m_user = cf.get("db", "m_user")
m_pass = cf.get("db", "m_pass")
return cookie_value(url,m_user,m_pass)

读取的url,m_user,m_pass的值传参到获取cookie值的方法中,通过用户密码传到接口中再返回cookie值,如下

def cookie_value(url,username,password):
'''
返回cookie:value
:param url: 地址
:param username: 用户名
:param password: 密码
:return: cookie:value
'''
payload = {'username':username,'pwd':password}
r = requests.post(url=url,data=payload)
return r.cookies['PHPSESSID']

返回cookie字符串的值。

最后编写自动化脚本执行登录如下:

test.py

import login
import configparser driver = webdriver.Chrome()
driver.implicitly_wait(0.5)
cf = configparser.ConfigParser()
cf.read('./config.ini')
webbaseurl = cf.get('db','baseurl')
driver.get(webbaseurl + "/xxx/Public/index")
driver.maximize_window()
sleep(0.5)
#添加cookie
value = login.mlogin()
driver.add_cookie({'name': 'PHPSESSID', 'value': value})
sleep(0.5)
# 刷新页面
driver.refresh()
sleep(0.5)

参考文章:

感谢:

on testing:《Python之配置文件读写

Mike_Zhang:《读取配置文件和自定义配置文件(python实现)

【Python web自动化】之读取配置文件参数,利用cookie返回值进行跳过验证码进行登录操作的更多相关文章

  1. java web编程 servlet读取配置文件参数

    新建一个servlet. 然后在web.xml文件里面自动帮助你创建好了<servlet-name><servlet-class><servlet-mapping> ...

  2. 【Selenium05篇】python+selenium实现Web自动化:读取ini配置文件,元素封装,代码封装,异常处理,兼容多浏览器执行

    一.前言 最近问我自动化的人确实有点多,个人突发奇想:想从0开始讲解python+selenium实现Web自动化测试,请关注博客持续更新! 这是python+selenium实现Web自动化第五篇博 ...

  3. Python configparser的使用 读取配置文件

    configparser是Python自带用于读取配置文件的工具包,它的使用非常简单 配置文件 配置文件[]中为section命名,section的命名可以包含空格,每个section下面以键值对的方 ...

  4. Java Web Application使Session永不失效(利用cookie隐藏登录)

    在做 Web Application 时,因为 Web Project 有 session 自动失效的问题,所以如何让用户登录一次系统就能长时间运行三个月,就是个问题. 后来,看到 session 失 ...

  5. FiddlerScript修改特定请求参数下的返回值

    使用场景: api/Live/GetLiveList接口: (1)Type为1,接口返回直播列表 (2)Type为2,接口返回回放列表 现在想修改直播列表的返回值 思路: 利用FiddlerScrip ...

  6. python os.system重定向stdout到变量 ,同时获取返回值

    Python执行系统命令的方法 os.system(),os.popen(),commands 最近在做那个测试框架的时候发现 Python 的另一个获得系统执行命令的返回值和输出的类. 最开始的时候 ...

  7. 工作随笔——Java调用Groovy类的方法、传递参数和获取返回值

    接触Groovy也快一年了,一直在尝试怎么将Groovy引用到日常工作中来.最近在做一个功能的时候,花了点时间重新看了下Java怎么调用Groovy的方法.传递参数和获取返回值. 示例Groovy代码 ...

  8. 写一方法用来计算1+2+3+...n,其中n作为参数输入,返回值可以由方法名返回,也可以由参数返回

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  9. python学习笔记之读取配置文件【转自https://my.oschina.net/u/3041656/blog/793467】

    [转自https://my.oschina.net/u/3041656/blog/793467] 最近在接触利用python来写测试框架,本人也是个刚接触python,所以是个小菜鸟,今天开始,一点点 ...

随机推荐

  1. 在C#中用RX库和await来实现直观的状态机

    在程序的设计过程中,我们经常会遇到一些需要使用状态机的场景,相信状态机的编写和维护是令每一个程序员都非常头大的事情.到了C# 5.0后,由于引进了await语法糖,我们可以通过await和Reacti ...

  2. NSPredicate 条件查询或过虑

    NSPredicate用于查询和过滤 在SQL中作为查询条件通常用WHERE,但在COREDATA中作为查询条件就可以用到NSPredicate. NSPredicate 不单可以和COREDATA中 ...

  3. jquery验证表单代码

    代码如下: //开始验证-修改用户密码 $('.editUserPwd').validate({ /**//* 设置验证规则 */ rules: { lname:{ required:true, st ...

  4. flask的session研究和flask-login的session研究

    1.httpie的安装:https://github.com/jakubroztocil/httpie#macos 2.http://python.jobbole.com/87450/ 3.http: ...

  5. Linux操作系统实时性分析

    1. 概述 选择一个合适的嵌入式操作系统,可以考虑以下几个因素:  第一是应用.如果你想开发的嵌入式设备是一个和网络应用密切相关或者就是一个网络设备,那么你应该选择用嵌入式Linux或者uCLinux ...

  6. ES6里关于字符串的拓展

    一.子串识别 自从 JS 引入了 indexOf() 方法,开发者们就使用它来识别字符串是否存在于其它字符串中.ES6 包含了以下三个方法来满足这类需求: 1.includes():该方法在给定文本存 ...

  7. iptables 的学习资源

    慕课网:https://www.imooc.com/video/7617 马哥linux视频:http://edu.51cto.com//center/course/lesson/index?id=9 ...

  8. HTML图片热区

    文章来源于:https://www.cnblogs.com/mq0036/p/3337327.html <!DOCTYPE html> <html lang="en&quo ...

  9. SQL SERVER 使用订阅发布同步数据库(转)

    一.数据库复制涉及  1.发布服务器:  数据的来源服务器,维护源数据,决定哪些数据将被分发,检测哪些数据发生了修改,并将这些信息提交给分发服务器.  2.分发服务器: 分发服务器负责把从发布服务器拿 ...

  10. STL学习笔记(仿函数)

    仿函数(Functors) 仿函数(functor),就是使一个类的使用看上去象一个函数.其实现就是类中实现一个operator(),这个类就有了类似函数的行为,就是一个仿函数类了. 例如我们定义一个 ...