2012-12-16 35 views
1

我第一次使用Selenium Webdriver並且正在運行一個非常簡單的腳本,但它不起作用。我想打開Firefox,轉到LinkedIn,然後在電子郵件登錄字段中輸入我的電子郵件地址。使用下面的代碼,我可以得到前兩個操作的工作,但腳本沒有正確識別電子郵件字段,所以我的電子郵件地址從不在任何地方輸入。如何識別Selenium Webdriver中的輸入框

browser = webdriver.Firefox() #Get local session of firefox 
browser.get("http://www.linkedin.com") #Load page 
elem = browser.find_element_by_name("session_key-login") #Find the login box 
elem.send_keys("[email protected]" + Keys.RETURN) #Enter email into login box 

如何正確識別電子郵件登錄框並將其傳遞給「elem」?

回答

0

你怎麼樣只是做

elem.send_keys("[email protected]") 

UPDATE


由你所使用的標識符是不正確的,你可以使用下面的任何一個。

elem = browser.find_element_by_id("session_key-login")

elem = browser.find_element_by_name("session_key")

+0

就嘗試過,但沒有奏效。我認爲問題是「session_key-login」不是識別電子郵件輸入框的正確方法,但我不知道如何命名它,當我檢查Firefox上的元素時,我看到了該標識符。 –

+0

試一下 elem = browser.find_element_by_id(「session_key-login」) 而不是 elem = browser.find_element_by_name(「session_key-login」) – Hemanth

+0

太棒了,謝謝,那很好。奇怪的是,find_element_by_name函數很好地在頁面主體中找到輸入字段(即「firstName」找到名字輸入框),但不能用於標題中的輸入字段。無論如何,我會用這個ID代替! –

相關問題