1

写真が載っているページがあります。マウスをホバーすると、左上隅にボタンが表示されます。そのボタンをいくつかのこと(チェック、クリックなど)に使用したいと思います。

ホバーオーバーにこのメソッドを使用しています:

    Locatable hoverItem = (Locatable) element;
    Mouse mouse = ((HasInputDevices) driver).getMouse();
    mouse.mouseMove(hoverItem.getCoordinates());

この方法は、IE (9) および Chrome (最新) では完全に機能しますが、FireFox (18.01) では機能しません。スクリプトはボタンが表示されたことを確認できないため、チェックしたり押したりすることはできません。

Assert.assertTrue("保存ボタンがありません!", Browser.findElement(By.id("xxx")).isDisplayed());

2.29.1 Selenium を使用しています。FireFox の何が問題なのか、何か考えはありますか?

4

3 に答える 3

1

Java 2.29.1 バージョンがどこにもありません。Java または .Net バインディングを使用していますか? 2.29 の変更ログには、Firefox 18 のサポートが記載されていますが、ネイティブ サポートについては言及されていません。それが理由かもしれません。Selenium 2.27 Java バージョンの変更ログは、ネイティブ イベントのサポートが 17 に追加されたことを示しているため、firefox を 17 にダウングレードすることを検討してください。

于 2013-01-25T12:44:53.757 に答える
1

Selenium 2.29 は、最新バージョンが FF18 でテストされていないため、firefox 18 ではサポートされていません。Firefox をバージョンにダウングレードすると機能します。私もFF18で問題がありましたが、FF17で動作します。

于 2013-01-29T10:31:26.417 に答える
0

Firefox使用しているバージョンが安定版またはベータ版であることを確認してください。ベータ リリースが安定版に変更された場合。最も安定したバージョンは 2013 年 1 月 18 日にリリースされました。

私もマウスホバーを使用しました。しかし、私は別のコードを使用しました。

私のコード

  //Assume you instantiate the driver instance properly anywhere else
  WebElement elem = driver.findElement(By.id(`IdName`));
  Actions builder = new Actions(driver);
  builder.moveToElement(elem).build().perform();

このコードを試してください。

于 2013-01-25T12:03:09.427 に答える