2013-02-27 36 views
1

我想从使用Selenium-Python的HTML元素获取一些信息,但我不确定如何保存它。我对编程很陌生,但对于我知道如何编写代码的知识足够了解,但很难研究答案并将其适用于我的代码。我已经看过谷歌,似乎无法找到任何能够帮助我专门满足我所需的任何事情。如何将信息存储在Selenium中的'NoType'HTML元素 - Python

下面是HTML元素我需要从获得信息:

<span id="ctl00_plnMain_rptAssigmnetsByCourse_ctl00_lblOverallAverage">99.05</span> 

我需要检索的99.05并将其存储在一个名为变量“的魅力。”

这是我用于Selenium测试的代码。

username = raw_input("Username: ") 
password = raw_input("Password: ") 
browser = webdriver.Firefox() # Get local session of firefox  
browser.get("https://hac.mckinneyisd.net/homeaccess/default.aspx") # Load page 
elem = browser.find_element_by_name("ctl00$plnMain$txtLogin") # Find the query box 
elem.send_keys(username) 
elem = browser.find_element_by_name("ctl00$plnMain$txtPassword") # Find the password box 
elem.send_keys(password + Keys.RETURN) 
time.sleep(0.2) # Let the page load 
elem = browser.find_element_by_link_text("Classwork").click() 
time.sleep(0.2) 
??????????????? 
browser.close() 

我该怎么把???从对象中取出99.05并保存为“avg?”我曾尝试过:

content = elem.text("td[@id='ctl00....lblOverallAverage']" 

...但我得到一个错误,说我不能这样做,因为它没有类型。

+0

检查下@ nrbaf​​na的回答我的意见。 – 2014-03-23 20:29:52

回答

0

尝试:

elem = browser.find_element_by_id("ctl00_plnMain_rptAssigmnetsByCourse_ctl00_lblOverallAverage") 
avg = elem.getText() 
+0

嗯...现在我得到这个错误。 “TypeError:'unicode'对象不可调用” – 2013-02-27 21:20:54

+1

@nrbaf​​na,'text'是属性而非方法;所以你应该把你的最后一行改为'avg = elem.text'。 @Justin Potts,你提到的错误其实就是我说的。 – 2014-03-23 20:29:10

相关问题