アヤックスは混乱のビットであるとSeleniumでの作業します。
は、あなたが/アップデートなどのアクションを待つためにこれらのループの多くを使用する必要があります...そこにあなたの質問に対する簡単な答えはありませんが、私はいくつかのヒントがあります:
for (int second = 0;; second++) {
if (second >= 60) log.error("Timeout (60 seconds) while submitting request");
try { if (selenium.isElementPresent("elementID")) break; } catch (Exception e) {}
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
またAjaxはページを持っている有効何度もイベントがTextBoxに入力された文字をトリガした後、selenium.type("elementID", "12345");
はあなたのためにそれほど多くありません。 typeKeys("elementID", "12345");
はイベントを発生させます。
FireFoxとFirebugでは、javascriptデバッガを使用してバックグラウンドで何が起こっているのかを分析します。私はChromes Inspectデバッガを使いたいと思う。あなたの開発者と話をして、特定の要素などのために何が引き起こされたのかを調べてください。
2番目に、最新バージョンのSelenium 2.0を見ることができます。 WebドライバはAjaxリクエストをもっとうまく処理するはずですが、まだ作業する時間はありません。
要するに、あなた自身で多くのコードを書いて、記録された部分を修正する必要があります。もし何かの商業的なものがうまく動作しない場合、Ajaxのいくつかのタイプをより良く処理します。