2014-02-19 23 views
1

我訪問了幾個網站,每30分鐘下載一次客戶端數據。硒(python)幫助我自動填寫所有登錄信息並控制所有後續的選擇/點擊步驟。有了這個設置,我永遠不需要手動點擊任何東西。但是,在一個特定頁面https://services.ehousingplus.com/Default.htm中,我似乎無法填寫「用戶名」/「密碼」,也無法單擊登錄按鈕。如果事實如此,我不能使用browser.find_element_by_xpath()來控制網頁上的任何元素。不確定它是否使用任何特殊技術。請幫忙。用硒填寫登錄信息

我使用代碼:

browser = webdriver.Firefox() 
browser.get("https://services.ehousingplus.com/Default.htm") 
browser.find_element_by_css_selector('#igtxtmyAuthentication_utxeUserName') 

有說只支持IE 8/9網頁上的通知。但我認爲限制僅在登錄後的後續步驟中。

回答

4

元素位於框架內部。 Selenium只能訪問當前幀中的元素。爲了訪問該頁面上的登錄元素,您需要切換到包含元素的框架。

你需要使用:

browser.get("https://services.ehousingplus.com/Default.htm") 
browser.switch_to_frame("HDSApplications") 
browser.find_element_by_css_selector('#igtxtmyAuthentication_utxeUserName') 

爲了搬回頂部框架,你需要使用:

browser.switch_to_default_content() 
+0

感謝您的回答。我是新的HTML。很高興知道框架的概念。 – KLI