微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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 管理元素             待定...        

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐