如何使用Selenium Webdriver执行鼠标悬停功能?
测试用例就像是说,打开雅虎网站,登录旁边有链接(Mail)。 鼠标悬停时会显示工具提示。
当我尝试下面的代码时,它不是鼠标悬停在确切的位置,而是在其他地方徘徊。我哪里错了?
还让我知道,如何捕获工具提示?
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();
}
}
答案 0 :(得分:5)
Actions actions = new Actions(driver);
actions.moveToElement(element).click().build().perform();
答案 1 :(得分: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());
答案 2 :(得分:0)
我使用了类似的代码,它对我有用。 我也在几个地方使用了以下内容: browser.executeScript( “jQuery的( 'mycss选择器')鼠标悬停();”) 您将不得不使用css-selector而不是xpath。