【Python web自动化】之读取配置文件参数,利用cookie返回值进行跳过验证码进行登录操作
当进行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)
参考文章:
感谢:
Mike_Zhang:《读取配置文件和自定义配置文件(python实现)》
【Python web自动化】之读取配置文件参数,利用cookie返回值进行跳过验证码进行登录操作的更多相关文章
- java web编程 servlet读取配置文件参数
新建一个servlet. 然后在web.xml文件里面自动帮助你创建好了<servlet-name><servlet-class><servlet-mapping> ...
- 【Selenium05篇】python+selenium实现Web自动化:读取ini配置文件,元素封装,代码封装,异常处理,兼容多浏览器执行
一.前言 最近问我自动化的人确实有点多,个人突发奇想:想从0开始讲解python+selenium实现Web自动化测试,请关注博客持续更新! 这是python+selenium实现Web自动化第五篇博 ...
- Python configparser的使用 读取配置文件
configparser是Python自带用于读取配置文件的工具包,它的使用非常简单 配置文件 配置文件[]中为section命名,section的命名可以包含空格,每个section下面以键值对的方 ...
- Java Web Application使Session永不失效(利用cookie隐藏登录)
在做 Web Application 时,因为 Web Project 有 session 自动失效的问题,所以如何让用户登录一次系统就能长时间运行三个月,就是个问题. 后来,看到 session 失 ...
- FiddlerScript修改特定请求参数下的返回值
使用场景: api/Live/GetLiveList接口: (1)Type为1,接口返回直播列表 (2)Type为2,接口返回回放列表 现在想修改直播列表的返回值 思路: 利用FiddlerScrip ...
- python os.system重定向stdout到变量 ,同时获取返回值
Python执行系统命令的方法 os.system(),os.popen(),commands 最近在做那个测试框架的时候发现 Python 的另一个获得系统执行命令的返回值和输出的类. 最开始的时候 ...
- 工作随笔——Java调用Groovy类的方法、传递参数和获取返回值
接触Groovy也快一年了,一直在尝试怎么将Groovy引用到日常工作中来.最近在做一个功能的时候,花了点时间重新看了下Java怎么调用Groovy的方法.传递参数和获取返回值. 示例Groovy代码 ...
- 写一方法用来计算1+2+3+...n,其中n作为参数输入,返回值可以由方法名返回,也可以由参数返回
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- python学习笔记之读取配置文件【转自https://my.oschina.net/u/3041656/blog/793467】
[转自https://my.oschina.net/u/3041656/blog/793467] 最近在接触利用python来写测试框架,本人也是个刚接触python,所以是个小菜鸟,今天开始,一点点 ...
随机推荐
- [NOIP模拟赛][并没有用二分][乱搞AC]
圆圈舞蹈 [问题描述] 熊大妈的奶牛在时针的带领下,围成了一个圆圈跳舞.由于没有严格的教育,奶牛们之间的间隔不一致. 奶牛想知道两只最远的奶牛到底隔了多远.奶牛A到B的距离为A顺时针走和逆时针走,到达 ...
- sed 中如何替换换行符
使用如下解决方案: sed ':a;N;$!ba;s/\n/ /g' 这将在一个循环里读取整个文件,然后将换行符替换成一个空格. 说明: 通过 :a创建一个标记 通过N追加当前行和下一行到模式区域 如 ...
- C语言的运算符、位操作
+ - * / (加 减 乘 除) > >= < <= (大于 大于等于 小于 小于等于) == != (测试等于 测试不等于) && || ! (逻辑与 逻辑 ...
- 在React组件unmounted之后setState的报错处理
最近在做项目的时候遇到一个问题,在 react 组件 unmounted 之后 setState 会报错.我们先来看个例子, 重现一下问题: class Welcome extends Compone ...
- 一个小时内学习SQLite数据库
一个小时内学习SQLite数据库 2012-05-11 10:24 红薯 OSCHINA 字号:T | T SQLite 是一个开源的嵌入式关系数据库,实现自包容.零配置.支持事务的SQL数据库引擎. ...
- 小白学react之网页获取微信用户信息
通过上一篇<小白学react之EJS模版实战>我们学习了怎样通过EJS模版生成我们高定制化的index.html文件. 本篇我们将会继续延续我们的alt-tutorial项目的实战计划.去 ...
- SQL Script for read information from a csv file in FTP Server
DECLARE w_file_path VARCHAR2(4000) := 'XXIF_INPUT'; --all_directories.directory_name w_file_name VAR ...
- 【Zookeeper】Zookeeper 和他的小伙伴们
ZK实际应用场景.实例:
- [Tools] Create a Simple CLI Tool in Node.js with CAC
Command-line tools can help you with all sorts of tasks. This lesson covers the very basics of setti ...
- 蓝的成长记——追逐DBA(5):不谈技术谈业务,恼人的应用系统
***************************************声明*************************************** 个人在oracle路上的成长记录,当中 ...