Selenium+Python:元素管理之 yaml模块、Excel
2021/7/21 12:06:14
本文主要是介绍Selenium+Python:元素管理之 yaml模块、Excel,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
方法一:使用 yaml 管理元素 1.yaml内容编写,格式如下 (ps:注意冒号后面不要少了空格)go_business_settings_e: dec: 业务设置元素 type: xpath value: //*[@role="menu"]/li//*[text()="业务设置"]/..2.解析yaml文件,如下
import os import yaml def parseyaml(): # 当前脚本路径的父类 basepath = os.path.dirname(os.path.dirname(__file__)) yaml_path = basepath + "\\CommonLib\\business_settings" pageElements = {} # 遍历读取yaml文件 for fpath, dirname, fnames in os.walk(yaml_path): for name in fnames: # yaml文件绝对路径 yaml_file_path = os.path.join(fpath, name) # 排除一些非.yaml的文件 if ".yaml" in str(yaml_file_path): with open(yaml_file_path, 'r', encoding='utf-8') as f: # 将yaml数据转化为字典或列表 page = yaml.load(f) # 将yaml的数据合并到 pageElements 字段中 pageElements.update(page) # 返回字典内容 return pageElements if __name__ == "__main__": a = parseyaml() print(a) print("*******************") print(a["go_business_settings_e"]["type"]) print(a["go_business_settings_e"]["value"])返回结果,如下
{'go_business_settings_e': {'dec': '业务设置元素', 'type': 'xpath', 'value': '//*[@role="menu"]/li//*[text()="业务设置"]/..'}} ******************* xpath //*[@role="menu"]/li//*[text()="业务设置"]/..代码说明: os相关参考链接:https://www.runoob.com/python/os-walk.html -os.path.dirname(path) 返回文件路径 -os.walk() 方法用于通过在目录树中游走输出在目录中的文件名,向上或者向下。
格式:os.walk(top[, topdown=True[, onerror=None[, followlinks=False]]]) 参数: top -- 是你所要遍历的目录的地址, 返回的是一个三元组(root,dirs,files)。 root 所指的是当前正在遍历的这个文件夹的本身的地址 dirs 是一个 list ,内容是该文件夹中所有的文件夹的名字(不包括子目录) files 同样是 list , 内容是该文件夹中所有的文件名字(不包括子目录) topdown --可选,为 True,则优先遍历 top 目录,否则优先遍历 top 的子目录(默认为开启)。如果 topdown 参数为 True,walk 会遍历top文件夹,与top 文件夹中每一个子目录。 onerror -- 可选,需要一个 callable 对象,当 walk 需要异常时,会调用。 followlinks -- 可选,如果为 True,则会遍历目录下的快捷方式(linux 下是软连接 symbolic link )实际所指的目录(默认关闭),如果为 False,则优先遍历 top 的子目录。-os.path.join(path1[, path2[, ...]]) 把目录和文件名合成一个路径 其他注意事项 - open路径中不能包含 内容为空的 .yaml文件,否则会报错:TypeError: 'NoneType' object is not iterable 方法二:使用 Excel 管理元素 待定...
这篇关于Selenium+Python:元素管理之 yaml模块、Excel的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2025-01-03用FastAPI掌握Python异步IO:轻松实现高并发网络请求处理
- 2025-01-02封装学习:Python面向对象编程基础教程
- 2024-12-28Python编程基础教程
- 2024-12-27Python编程入门指南
- 2024-12-27Python编程基础
- 2024-12-27Python编程基础教程
- 2024-12-27Python编程基础指南
- 2024-12-24Python编程入门指南
- 2024-12-24Python编程基础入门
- 2024-12-24Python编程基础:变量与数据类型