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的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程