4

プロジェクトに Selenium Webdriver を使用しています。画像にマウスオーバーするコードを既に自動化しましたが、これは正常に完了しています。しかし、このコードではハイパーリンクにマウスを合わせることができませんでした。

私が使用したコードは

Actions build1 = new Actions(driver); build1.moveToElement(WebElement).build().perform();

私も使ってみました

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

しかし、それもうまくいきません。これについて私を助けてください

4

4 に答える 4

1

同じ問題があり、カーソルを1px移動して解決しました。最後の行は、ホバー イベントをトリガーしました。

Actions action = new Actions(driver);
action.moveToElement(element).build().perform();
action.moveByOffset(1, 1).build().perform();
于 2014-11-04T14:16:22.170 に答える
0

これを試して:

Actions action = new Actions(webdriver);
WebElement we = webdriver.findElement(By.xpath("x_p_a_t_h"));
action.moveToElement(we).build().perform();
于 2013-07-31T15:30:34.257 に答える
0

クラスでpublic void mouseOver(String)メソッドを使用しました。DefaultSeleniumコードの本質は次のとおりです。

protected void hoverAction() {
    WebDriverBackedSelenium webDriver = some_elaborate_method_to_get_webdriver;
    webDriver.mouseOver("x_p_a_t_h");
}

また、失敗する前に要素が確実にレンダリングされるように、ホバーに何らかの待機時間を設定する必要がある場合もあります (たとえば、通常はリンクから起動されるフライアウト メニューはすぐには表示されません)。

于 2013-07-31T19:49:59.283 に答える