3

開発中の Web アプリである watir を使用してテストしようとしていますが、紛らわしいエラーが発生しています。

問題のHTMLは

<td>
  <div class="filter-container">
    <input name="PersonName" type="text">
  </div>
</td>

チョークするコマンドは次のとおりです。

b.text_field(:name, "PersonName").set "Robert" 

irb が返すエラーは次のとおりです。

Selenium::WebDriver::Error::InvalidElementStateError: Element is not currently interactable and may not be manipulated
from /usr/local/Cellar/ruby/2.0.0-p0/lib/ruby/gems/2.0.0/gems/selenium-webdriver-2.31.0/lib/selenium/webdriver/remote/response.rb:52:in `assert_ok'
from /usr/local/Cellar/ruby/2.0.0-p0/lib/ruby/gems/2.0.0/gems/selenium-webdriver-2.31.0/lib/selenium/webdriver/remote/response.rb:15:in `initialize'

(他にも数行ありますが、上記が該当すると思います)

テキスト ボックス、マウスとキーボードを使用して「対話可能」であるため、watir がボークする理由がわかりません。何か案は?

4

5 に答える 5

1

Selenium がページ上に同じ名前の 2 番目の隠し要素を見つけていないことを確認してください。

于 2013-12-26T18:39:53.733 に答える
0

これは、無効な要素を操作しようとしたときに発生します。詳細については、こちらをお読みください。

于 2013-04-01T20:01:18.030 に答える
0

同じタイプのセレン エラー メッセージが表示され、コードを実行する前にすべてのブラウザー履歴 (閲覧とダウンロードの履歴、フォームと検索の履歴、Cookie、キャッシュ、アクティブなログイン、オフラインの Web サイト データ、およびサイト設定) をクリアしていることを発見しました。期待どおりに動作します。

コードを実行するたびにすべてをクリアする必要があるため、これは優れたソリューションではありません。エレガントではありませんが、機能的です。

注: 問題が発生した場合に備えて、splinter を介してセレンを呼び出し、splinter ブラウザーとして firefox を使用しています。

于 2015-11-10T03:19:11.510 に答える