1

サイトをテストするためにwebdriverを使用しています。ajax 経由でデータをロードするために、多くのリンクでイベント委任が使用されています。

     jQuery("body").delegate("a",
                             "click",
                             function adjustHref(event) {
                                // callback
                             });

テストでは、webdriver のリンクをクリックしています。

     WebElement anchor = headlines.get(0).findElement(By.tagName("a"));
     anchor.click();
     WebElement articleHeader = wait.until(new VisibilityOfElementLocated(By.tagName("h1")));

これで Chrome と IE では期待どおりに動作しますが、Firefox では失敗することがあります。他のブラウザでanchor.click()は新しいページに移動しますが、Firefox では動作する場合と失敗する場合があります。例外はスローされないため、要素アンカーが見つかりましたが、webdriver がそれをクリックしても何も起こりません。これは webdriver のみの問題であり、サイトを手動で使用すると問題なく動作します。webdriver には、Firefox でのイベント委任に関する制限がありますか?

4

1 に答える 1

0

問題は、リンク テキストが 2 行anchor.clickに折り返されていて、間違った場所をクリックしていたことです。ブラウザーを大きくすることで、テキストが折り返されず、クリックが正しく配置されました。

于 2010-07-19T08:48:15.663 に答える