从Python中的json文件读取数据以自动化Web应用程序

时间:2017-06-15 14:16:08

标签: python json selenium xpath

我有一个用于自动化Web应用程序的代码(我正在使用Python和Selenium),我输入静态数据,我想使用JSON文件将数据发送到应用程序,任何人都可以请我帮忙如何编写代码以从JSON文件中选择。这是我的代码: -

import unittest
from selenium import webdriver
name = driver.find_element_by_xpath("some xpath").send_keys("xxxx")
pass = driver.find_element_by_xpath("some xpath").send_keys("xxxx")
phone_no = driver.find_element_by_xpath("some xpath").send_keys("xxxx")

请帮我介绍如何从json文件中读取数据。

2 个答案:

答案 0 :(得分:0)

不确定这是否是您正在寻找的,但最简单的读取json是使用json模块。 json.load将json反序列化为python对象,通常是字典。

import json

with open('file-name.json') as data_file:    
    data = json.load(data_file)

# access json (now python object) like this... data['some-field']

答案 1 :(得分:0)

使用send_keys函数时,不能仅按原样发送json,因为它将在每个json属性后添加'\ n'。这是三种方法:

方法1-不要用作json,只需使用纯文本

path = os.path.abspath("../excel_upload.json")
with open(path, "r") as fp:
    obj = fp.readlines()
    print(str(obj))
                driver.find_element_by_name("name").send_keys((obj))

方法2-使用json.dumps对json(以Dict的形式)进行序列化。

方法3-加载json,然后通过将其放入字符串中来删除“ \ n”。

我用第一种方法获取完整的json文本,而第二种方法使用密钥对。会有更好的方法,请使用更好的解决方案进行更新。

加载和读取json很好,但是在send_keys中使用它是另一个问题。