2017-08-06 8 views
2

WindowsのSelenium WebドライバとPythonを使用して<input>要素に文字列を書き込もうとしています。Python Seleniumが入力要素を検出しましたが、send_keysは使用できません

要素があり、選択されていますが、send_keys("mystring")にしようとするとウェブドライバが失敗します。

campotx = driver.find_element_by_css_selector("input.urEdf2TxtRadius.urEdf2TxtEnbl.urEdfVAlign") 
campotx.click() 
campotx.clear() 
##########----it works ok until here 
campotx.send_keys("SM37") 
campotx.send_keys(Keys.ENTER) 

問題は「要素を見つける」方法とは関係ありません。by_ID、by_class_name、by_xpathを試しました。それらのすべてが要素を見つけることができます。私はsend_keysにしかできません。

私はヘッダーレスウェブドライバであるHTMLUNITSを使用しています。この問題のための出力誤差は、私はそれをgoogleing試みたが、何かを見つけることができない、珍しいです:

<input id="ToolbarOkCode" ct="I" lsdata="{0:'ToolbarOkCode',1:'Command',4:200,13:'150px',23:true}" lsevents="{Change:[{ClientAction:'none'},{type:'TOOLBARINPUTFIELD'}],Enter:[{ClientAction:'submit',PrepareScript:'return\x20its.XControlSubmit\x28\x29\x3b',ResponseData:'delta',TransportMethod:'partial'},{Submit:'X',type:'TOOLBARINPUTFIELD'}]}" type="text" maxlength="200" tabindex="0" ti="0" title="Command" class="urEdf2TxtRadius urEdf2TxtEnbl urEdfVAlign" value="" autocomplete="on" autocorrect="off" name="ToolbarOkCode" style="width:150px;"/> 

EDIT:

    ここ

    selenium.common.exceptions.WebDriverException: Message: TypeError: Cannot call method "setOpenerRef" of null (http://myurl.com) 
    

    <input>ソースコードです

  • PhantomJSを使用しようとしましたが、ログオンできませんでした。
  • headless_ie_selenium.exeを使用しようとしましたが、ドライバを起動できませんでした。
  • ヘッドレスクロムを使用しようとしました。これはheadless_ie_seleniumと同じ問題です。すべてのチュートリアルはLinux環境に関連しています。
+2

関連するページまたはHTMLコードを共有できますか? –

+1

HTMLUNITSではなく、PhantomJS、Chromeのヘッドレス、またはドッカークロムスタンドアロンを使用してみてください –

+0

Maximilian、私は質問を更新しました。ペーストビンでさえ、完全なソースコードは広すぎます。 Tarun、私はphantomjsを試しましたが、ログインフォームを通過できませんでした。 –

答えて

0

私は最終的にjavascriptを使用してこれをSelenium send_keysで解決しました。

driver.execute_script("document.getElementById('ToolbarOkCode').setAttribute('value', 'SM37')") 
関連する問題