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

2023-05-26,,

当进行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返回值进行跳过验证码进行登录操作的相关教程结束。

《【Python web自动化】之读取配置文件参数,利用cookie返回值进行跳过验证码进行登录操作.doc》

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