2009-08-25 15 views
2

私のAJAXページの1つでSelenium IDEを実行する際に問題があります。ボタンがクリックされると、新しいフォーム要素が表示されるjavascript onclick submitを持つHTMLボタンがあります。このボタンは、以前に表示されたドロップダウンで選択値が選択された後にのみ、AJAXを介して表示されます。Seleniumがボタンプレスを登録しない

Seleniumはボタンが表示されていると判断し、クリックしたと思ってもクリックは実際には機能しません。

一時的にソースコードにアクセスすることはできません。なぜなら、私は入り込まないからです。私はおそらくここで多少漠然としていることを知っています...私は可能な限り詳細を投稿しようとします。

乾杯

EDIT:だけ明確にする、私が通過すると、ボタンの上にwaitForVisibleコマンドを使用していますし、その後も渡しクリック、しかし、それは作っている次の要素の上に立ち往生ドロップダウンボックスからの選択。 Seleniumはそうしていると思っていますが、そうではありません:(

答えて

0

ボタンをクリックしても記録されない場合は、正しいXPath式またはDOMパスを指定して手動でコードを入力する必要があります。

最も可能性の高い答えはタイミングの問題です.Seleniumは、DOMが変更をレンダリングするよりも速くステップを実行する傾向があります。また、エラーの原因となります。ボタンの生成とボタンのクリックの間に2秒の一時停止を直接指定することができます。

問題が異なる場合あなたはより具体的にする必要があります。

+0

ええ、私は役に立たないために休止を使用したので、タイミングの問題だとは思わない。私はすぐにコードにアクセスしているので、ページがすぐにどのように構造化されたかについてより具体的な情報を提供できるかもしれません。 私が知っているのは、セレンが生成されたボタンを見て、それをクリックしていると思っていると思います。このボタンは、標準入力タイプ= 'ボタン'で、オンクリックの送信を行います。 – Evernoob

1

場合によっては、ページ内での動作の仕方によっては、セレンのクリックが機能しないことがあります。 実際のonClickは後でjavascriptで割り当てられます(たとえhtmlで「onClick」アクションがあることがわかっても)

ロケータを使用してclickアクションをmouseDownとmouseUpに置き換えてみてください!パラメータとして:

<tr> 
    <td>mouseDown</td> 
    <td>button_id</td> 
    <td></td> 
</tr> 
<tr> 
    <td>mouseUp</td> 
    <td>button_id</td> 
    <td></td> 
</tr> 

幸運

1

私はIE8の64bit版およびWindows 7で、私は方法MouseDownAtMouseUpAt完璧に動作していることがわかりましたことを行うには多くの方法を試してみましたとえば、。私は次のコードを使用しました:

mouseDownAt(locator, "10,10"); 
mouseUpAt(locator, "10,10"); 
関連する問題