9

send_keys()メソッドを使用してログイン時にユーザー名を入力しようとしています。私はそれが動作する前にsend_keysまで動作するように、入力要素を見つけることができると思います。 send_keysに文字列値を送信すると、エラーが発生します。Selenium + Firefox Dev-Edition:send_keys throwing [オブジェクト未定義]例外

selenium.common.exceptions.WebDriverException:メッセージ:予想[未定義オブジェクト]未定義私は何をしないのです文字列

なるには?

のPython:3.5
セレン3.3.1
Firefoxの開発者Editionまたは夜間(現在のバージョン> 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のファイル "C:\ Users \ BaruaR \ AppData \ Roaming \ Python \ Python35 \ site-packages \ selenium \ webdriver \ remote \ webelement.py"、行347、 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(command、params)
ファイル "C:¥Users¥BaruaR¥AppData¥Roaming¥Python¥Python35¥site-packages¥selenium¥webdriver¥remote¥webdriver.py"、行238、実行 自己.error_handler.check_response(レスポンス)
ファイル "C:¥Users¥BaruaR¥AppData¥Roaming¥Python¥Python35¥site-packages¥selenium¥webdriver¥remote¥errorhandler.py"、193行目、che ck_response
レイズexception_class(メッセージ、画面、スタックトレース)ここ

+0

URLまたはHTMLコードを共有できますか? –

+0

私はFirefox開発者用エディション(Windowsのパスにあります)を使用しています。私は安定版を使用し、 "binary = FirefoxBinary(r'C:\ Program Files \ Mozilla Firefox \ firefox.exe ')でバイナリを明示的に指定するとうまくいきます。 – user1751844

+1

これはFF 53 betaのバグです。 –

答えて

3

同じ... はCHROMEに期待どおりに動作します... Firefoxで問題があるように思わ;-(

+1

それだけでは、Firefoxの不安定なバージョンでありますリリース版と古いバージョンは正常に動作します。私はどこにこのバグをファイルする必要はありません。 – najjarammar

+0

おかげで@najjarammar - 通常のFirefoxのすべてのものを使用した後にこれは、答えではありませんあなたは私もgeckodriverのバージョン0.16を使用して、セレンをアップグレードすることを解決し、この質問 – wasabigeek

1

私も持っています私の場合は、同じ問題に私geckodriverは64ビットですが、Firefoxは32ビット、それは誤り

+0

を働きました。ありがとう! –

4

をスローでgeckodriver 0.16の最新版で、少なくとも私にとっては、解決されたように見える:https://github.com/mozilla/geckodriver/releases/tag/v0.16.0

バージョン0.16ではセレン3.4が必要です。

-Erinn

+0

のためにコメントや投票まで置くことができます罰金 –

0

は私
のFirefox 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") 
関連する問題