9

Próba wpisania nazwy użytkownika podczas logowania przy użyciu metody send_keys(). Domyślam się, że jest w stanie zlokalizować element wejściowy, ponieważ kiedy działam do momentu, aż zadziała send_keys. Wysyłając wartość ciągu w postaci send_keys, wyświetla się błąd.Selen + Firefox Dev-Edition: send_keys wyrzuca [obiekt Undefined] wyjątek

selenium.common.exceptions.WebDriverException: Wiadomość: Oczekiwany [object niezdefiniowany] niezdefiniowane będzie ciąg

Czego mi brakuje?

Python: 3,5
Selen 3.3.1
Firefox Developer Edition lub Nightly (obecnie wersja> 52)
Moje urywek kodu:

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") 

Traceback (najnowsza wezwanie ostatni):

Plik "D: /PycharmProjects/JCBbidEntry/tests/loop2.py", wiersz 29, w elem.send_keys ("10101")
Plik "C: \ Users \ BaruaR \ AppData \ Roaming \ Python \ Python35 \ site-packages \ selenium \ webdriver \ remote \ webelement.py", wiersz 347, w send_keys self._execute (Command.SEND_KEYS_TO_ELEMENT, wartość {' ": keys_to_typing (value)})
Plik" C: \ Users \ BaruaR \ AppData \ Roaming \ Python \ Python35 \ site-packages \ selenium \ webdriver \ remote \ webelement.py ", wiersz 491, w _execute return self ._parent.execute (polecenie, parametry)
Plik "C: \ Users \ BaruaR \ AppData \ Roaming \ Python \ Python35 \ site-packages \ selenium \ webdriver \ remote \ webdriver.py", wiersz 238, w wykonaniu własny .error_handler.check_response (odpowiedź)
Plik "C: \ Users \ BaruaR \ AppData \ Roaming \ Python \ Python35 \ site-packages \ selenium \ webdriver \ remote \ errorhandler.py", wiersz 193, w języku che ck_response
podbicie exception_class (wiadomość, ekran, StackTrace)

+0

Czy możesz udostępnić URL lub kod HTML –

+0

Używam więc wersji deweloperskiej Firefoksa (która znajdowała się na mojej ścieżce systemu Windows). Kiedy używam wersji stabilnej i jawnie określam plik binarny za pomocą "binary = FirefoxBinary (r'C: \ Program Files \ Mozilla Firefox \ firefox.exe") ", to działa dobrze. – user1751844

+1

To wydaje się być błędem w wersji FF 53. –

Odpowiedz

3

samo tutaj ... Wydaje się być problem z Firefoksem ... to działa zgodnie z oczekiwaniami, z chromowaną ;-(

+1

Jest w niestabilnych wersjach tylko Firefox, wersja wydania i starsze wersje działają poprawnie. Nie wiem, gdzie mam zgłosić ten błąd. – najjarammar

+0

dziękuję @najjarammar - po użyciu zwykłego firefox wszystko działało dobrze – wasabigeek

1

mam także Ten sam problem w moim przypadku mój geckodriver jest 64bit ale firefox 32 bit jest to zgłasza błąd

+0

To nie jest odpowiedź, możesz umieścić komentarz lub oddać głos na to pytanie –

0

Aktualizacja do geckodriver 0.17.0 naprawił problem dla mnie
Firefox 53.0.3
Selen 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")