我正在为温度、时间和地点设计一个楼宇自动化系统。我没有问题得到的信息出iframe和命令行,但得到一个csv文件我不能。另外,我希望把数据列和行。我的基本代码是在这里工作,但我还没有找到任何类似的,以帮助我。系统响应请求的速度也很慢,原因是每件事之间都有睡眠。这仅仅是我开始的3分,还有大约30分我要努力。你知道吗
它应该是这样的(命令行):
Space: Lower Hall,
Temperature: 19.6 ºC,
Timestamp: 1521204222910
这是我得到的(csv输出):
<function data1 at 0x000001CC46775730>
<function data1 at 0x000001CC4ECA89D8>
<function data1 at 0x000001CC46775730>
基本代码
iframes = driver.find_elements_by_tag_name("iframe")
driver.switch_to.frame(iframes[1])
time.sleep(5)
while True:
time.sleep(5)
def data1():
element=driver.find_element_by_id("root.content.BoundLabel12")
print("Space: Lower Hall","\nTemperature: ", element.text)
temperature = element.text
when_updated=driver.find_element_by_name("_lastUpdated")
timestamp=when_updated.get_attribute("value")
print("Timestamp:", timestamp)
print("") #space out on cmd line
time.sleep(1)
def data2():
element=driver.find_element_by_id("root.content.BoundLabel1")
print("Space: Den\Bedroom 3","\nTemperature: ", element.text)
when_updated=driver.find_element_by_name("_lastUpdated")
timestamp=when_updated.get_attribute("value")
print("Timestamp:", timestamp)
print("")
time.sleep(1)
def data3():
element=driver.find_element_by_id("root.content.BoundLabel33")
print("Space: Lower Bathroom" , "\nTemperature: ", element.text)
date = when_updated=driver.find_element_by_name("_lastUpdated")
timestamp=when_updated.get_attribute("value")
print("Timestamp:", timestamp)
print("")
time.sleep(60)
data = ([data1()])
with open('writer.csv', 'a') as file:
writer = csv.writer(file)
writer.writerows(data())
nos=1 # Number of samples
freq=25 # Sampling frequency
print("\nTemperature & timestamp, sampled every", freq, "seconds:")
while True:
#for i in range(nos):
ts=driver.find_element_by_name("_lastUpdated").get_attribute("value")
#print("\nTemperature: ", element.text, "read at:", ts)
time.sleep(freq)
driver.switch_to_default_content()
print ("Done.")
您缺少了一些python的基础知识。首先,如果你发现你在写很多函数做同样的事情,你可以也应该把它们写成一个函数。第二,这就是问题所在,在函数中没有返回任何数据。它是打印出你的结果,因为print不需要返回到工作状态,但是当你试图将这些函数写入csv时,因为它们没有返回任何东西,所以它只是在写那个函数。对代码的这些编辑解决了我的上述问题:
如果您是python新手,我建议您阅读一下: https://www.tutorialspoint.com/python/python_functions.htm
相关问题 更多 >
编程相关推荐