2013-02-27 77 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