0

私は WebSpec を利用したシンプルなアプリに取り組んでいます。私は mozilla() ブラウザを利用しています。ここで、テキストを入力に挿入し、「送信」という値のボタンをクリックしたいページが 1 つあります。ページが正しく読み込まれ、すべてのタグが存在し、アクセスできます。唯一の問題は、WebSpec がアクセスしようとするたびに「送信」ボタンが機能しないことです。自分でクリックしても動かない。ページをリロードする必要があります。

フォームのコードは次のとおりです。

<form action="" method="post" name="theForm" id="theForm" onsubmit="get_search_results(); return false;">
  <table cellpadding="0" cellspacing="10" style="text-align:left;margin:auto;" >
    <tr>
      <th valign="top">Enter Text: </th>
      <td valign="top"><input type="text" name="theText" id="theText" class="box"  value="" />
      <br />
      </td>
      <td valign="top">
        <select name="its-name" class="box" >
                //some options
        </select>
      </td>
      <td valign="top"><input type="button" value="Submit" class="button-of-color" onclick="get_the_results();"  /></td>
      <td valign="top"><a href="url" class="button-of-color">A Link</a></td>
    </tr>
  </table>
  <div id="theResults"></div>
</form>

上記のアクションを実行するために使用しているコード (XTend コード) は次のとおりです。

spec.open(theUrl)
val keywordBox = spec.find.input().with.name("theText")
val proceedBox = spec.find.input().with.type("button").with.value("Submit")
keywordBox.set.value(theText)
proceedBox.click

入力テキスト フィールドは値を取得しますが、ボタンは (クリックされても) スクリプトを実行しません。私が言ったように、手動でクリックしても何の効果もありません。一方、その値やその他のプロパティを変更できます。

なぜこれが起こるのか、何が原因なのかわかりません。また、Watin を使用して .NET で作成した別のアプリは完全に動作するため、動作するはずです。

よろしくお願いします。:)

編集:変更するだけで問題が解決しているようですmozillaie開発者が修正すべきバグだと思います。私は彼らに尋ねます。これについて私が気に入らないのは、これが私が .NET から Java に切り替えた理由であり、アプリケーションを移植する必要がないということです。

それまでの間、私はまだ回避策を探しています...

4

2 に答える 2

1

IE でも同じ問題があり、設定したテキスト フィールドが完了したかどうかを確認する while ループを追加しました [修正ではなく、汚い回避策]

元:

    ie.textField(name, "email").set("xyz@gmail.com");
    while (ie.textField(name, "email").value().isEmpty())
        ;       
    ie.button(name, "Login").click();
于 2013-02-13T08:35:27.897 に答える
-1

この行は間違っている可能性があります..

val proceedBox = spec.find.input().with.type("button").with.value("Submit")

これを試して ..

val proceedBox = spec.find.input().with.type("submit").with.value("Submit")
于 2016-04-09T06:48:09.783 に答える