2

Selenium Webdriverを使用してマウスホバー機能を実行するには?

テスト ケースは、たとえば、Yahoo サイトを開くと、サインインの横にリンク (メール) があるようなものです。マウスをホバーすると、ツールチップが表示されます。

以下のコードを試してみると、マウスが正確な場所にホバリングするのではなく、別の場所にホバリングします。どこが間違っていますか?

また、ツールチップをキャプチャする方法を教えてください。

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.interactions.Actions;


public class Sample 
{
    public static void main(String[] args) 
    {
        WebDriver driver=new FirefoxDriver();
        driver.get("http://www.yahoo.com");

        driver.manage().window().maximize();

        try 
                {
            Thread.sleep(5000);
        } catch (InterruptedException e)
                {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

        WebElement lMail=driver.findElement(By.xpath("//*[@title='Mail']"));

        Actions builder=new Actions(driver);
        builder.moveToElement(lMail).build().perform();


    }

}
4

3 に答える 3

5
Actions actions = new Actions(driver);
actions.moveToElement(element).click().build().perform();
于 2013-02-05T13:20:57.487 に答える
1

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

//Assume driver initialized properly.
WebElement element = driver.findElement(By.id("Element id"));
Locatable hoverItem = (Locatable) element;
Mouse mouse = ((HasInputDevices) driver).getMouse();
mouse.mouseMove(hoverItem.getCoordinates());
于 2013-02-05T06:11:31.460 に答える
0

同様のコードを使用しましたが、うまくいきます。また、いくつかの場所で以下を使用しました: browser.executeScript("jQuery('mycss-selector').mouseover();") xpath の代わりに css-selector を使用する必要があります。

于 2013-02-08T19:29:52.957 に答える