2016-09-27 6 views
0

私はFireFoxではなくIEを使うように自動化されたテストケースを変換しています。このケースはFirefox上で正常に動作しましたが、私はIEが非常に奇妙な動作をしていることを発見しました。ログイン資格情報の入力を複製し、アクセスする必要がある入力を隠しています。私はセレンとPythonを使っている、と私は隠し入力フィールドにログイン資格情報を渡す必要がPythonのjavascriptを使って隠し入力の値を設定する

(これはそれをやってIEではなく、私がテストしてるアプリケーションのソースであることに注意してください)。私はあなたがセレンの隠されたフィールドにアクセスすることはできませんが、私はあなたがJavascriptでそれを行うことができると言っている多くのSOの記事を見てきたことを知っています。それは私の質問に私をもたらします。私はここで間違って何をしていますか?私はJavascriptに慣れていませんが、これまでに見たことのすべてが、これがうまくいくはずであることを示しています。

私のPython:(キーは、スクリプトのパラメータである)

driver.execute_script("document.getElementsByClassName('form-control placeholder').setAttribute('value', '" + key + "')")

IE Page Source

IE Error

+0

あなたは以下のコードを試すことができます。 'driver.execute_script( "[0] .setAttribute( '値' 引数、引数[1])"、driver.find_element_by_css_selector( "フォームコントロール")、キー)私は発生したエラーを解決 ' –

+0

@SudharsanSelvaraj、しかし私がまだテストしているアプリケーションは、ログイン試行(有効な資格情報)を拒否しているようです。それはこの質問とは関係がありませんが。 :) –

+0

具体的なエラーがありますか? –

答えて

0

ので、配列を返すのgetElementsByClassName方法、あなたは試してみてください: ドライバ.execute_script( "document.getElementsByClassName( 'フォームコントロールプレースホルダ')[0] .setAttribute( 'の値'、「」+キー+ "')")

+0

それは本当にエラーを解決します、ありがとうございます。しかし、私はSudharsanに最初に解決策を提示して以来、その答えを信用しています。 + repです。 –

関連する問題