我有一个用于自动化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文件中读取数据。
答案 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
中使用它是另一个问题。