Selenium web驱动程序/java/hover+单击



我想点击一个菜单链接,但只有当光标悬停在上面拉伸下拉菜单时,链接才会出现。因此,自动化无法像我的点击功能那样点击它。我做了一些研究并使用了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();

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

最新更新