我希望点击一个菜单链接,但只有当光标悬停在其上方时才会显示该链接。因此,自动化无法像点击功能那样单击它。我做了一些研究并使用了moveToElement
和clickAndHold
。后者给了我一些希望,但它远非完美。我发现它一半都没有点击,有时它会点击,但点击下拉列表中的其他菜单链接。我有什么想法可以让它在100%的时间内都能正常工作?
public String hoverClick(String object, String data){
APP_LOGS.debug("Moving the mouse");
try{
WebElement tab;
WebElement link;
tab = driver.findElement(By.xpath("//a[contains(@href, 'FOO')]"));
link = driver.findElement(By.xpath("//a[contains(@href, 'BAR')]"));
Actions act = new Actions(driver);
act.clickAndHold(tab).click(link).perform();
return Constants.KEYWORD_PASS;
}catch(Exception e){
return Constants.KEYWORD_FAIL+"Unable to move the mouse/click"+e.getMessage();
}
}
谢谢。
答案 0 :(得分:0)
请试试以下内容:
act.moveToElement(tab).moveToElement(link).click(link).perform();
在这里,我们将鼠标悬停在填充下拉列表的元素上(其中包含要单击的元素),然后移动到要单击的元素,然后单击它。