繁体   English   中英

Selenium Web驱动程序/ Java /悬停+单击

[英]Selenium web driver / java / hover + click

我希望单击菜单链接,但是仅当光标悬停在其上方并拉长下拉菜单时,该链接才会出现。 因此,自动化无法像我的单击功能一样单击它。 我做了一些研究,并使用moveToElementclickAndHold 后者给了我一些希望,但远非完美。 我发现它没有完全单击一半,有时它确实单击了,但是单击了下拉菜单中的其他菜单链接。 有什么想法可以使它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();
    }
}    

谢谢。

请尝试以下方法:

act.moveToElement(tab).moveToElement(link).click(link).perform();

在这里,我们将鼠标悬停在填充下拉列表的元素上(该元素包含要单击的元素),然后移至要单击的元素,然后单击它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM