9

嘗試在登錄時使用send_keys()方法輸入用戶名。我想它能夠找到輸入元素,因爲當我運行,直到send_keys它的工作。通過在send_keys中發送字符串值,它會引發錯誤。Selenium + Firefox Dev-Edition:send_keys拋出[object Undefined]異常

selenium.common.exceptions.WebDriverException:消息:預期[對象未定義]未定義是一個字符串

我缺少什麼?

的Python:3.5
硒3.3.1
Firefox的開發版或夜間(目前版本> 52)
我的代碼片段:

login_url = "https://korunet.co.nz/" 
driver = webdriver.Firefox() 
driver.get(login_url) 
WebDriverWait(driver, 30).until(ec.visibility_of_element_located((By.CSS_SELECTOR, '#IDToken1'))) 

elem = driver.find_element_by_css_selector('#IDToken1') 
elem.click() 
elem.clear() 
elem.send_keys("10101") 

回溯(最近通話最後一個):

文件「D:/PycharmProjects/JCBbidEntry/tests/loop2.py」,第29行,在 elem.send_keys(「10101」)
send_keys中的第347行文件「C:\ Users \ BaruaR \ AppData \ Roaming \ Python \ Python35 \ site-packages \ selenium \ webdriver \ remote \ webelement.py」self._execute(Command.SEND_KEYS_TO_ELEMENT,{'value ':keys_to_typing(value)})
文件「C:\ Users \ BaruaR \ AppData \ Roaming \ Python \ Python35 \ site-packages \ selenium \ webdriver \ remote \ webelement.py」,第491行,在_execute中 return self ._parent.execute(命令,參數)
文件「C:\ Users \ BaruaR \ AppData \ Roaming \ Python \ Python35 \ site-packages \ selenium \ webdriver \ remote \ webdriver.py」,第238行,執行 self .error_handler.check_response(響應)
文件「C:\ Users \ BaruaR \ AppData \ Roaming \ Python \ Python35 \ site-packages \ selenium \ webdriver \ remote \ errorhandler.py」,行193 ck_response
提高exception_class(消息,屏幕,堆棧跟蹤)

+0

你能分享的URL或HTML代碼 –

+0

所以我一直在使用Firefox開發者版(這是我的Windows路徑)。當我使用穩定版本,並通過「binary = FirefoxBinary(r'C:\ Program Files \ Mozilla Firefox \ firefox.exe)」顯式指定二進制文件時,它可以正常工作。 – user1751844

+1

這似乎是FF 53測試版的錯誤。 –

回答

3

同樣在這裏... 似乎是與Firefox的問題......它按預期工作與CHROME ;-(

+1

它只在Firefox的不穩定版本,發佈版本和舊版本工作正常。我不知道在哪裏提交這個錯誤。 – najjarammar

+0

謝謝@najjarammar - 使用普通的firefox後,一切都很好 – wasabigeek

1

我也有在我的情況下,同樣的問題我geckodriver是64位,但Firefox是32位的,它拋出一個錯誤

+0

這不是一個答案,你可以發表評論或對這個問題投票 –

0

更新到geckodriver 0.17.0或更新固定爲我
火狐53.0.3
硒3.4.3
Python 3中的問題。6

binary = FirefoxBinary('C:\\Program Files (x86)\\Mozilla Firefox\\Firefox.exe') 
driver = webdriver.Firefox(firefox_binary=binary) 
driver.get(url) 

emailInput = driver.find_element_by_id("login-username") 
emailInput.send_keys("username")