【问题标题】:How to automate Mouse hover action in webdriver/java/kendo ui如何在 webdriver/java/kendo ui 中自动执行鼠标悬停动作
【发布时间】:2015-02-25 10:57:35
【问题描述】:

我想为我的项目自动化鼠标悬停功能。场景:有一个文本框,如果我将鼠标悬停在它上面,编辑图标将变为启用状态,我必须单击该图标。

【问题讨论】:

  • 到目前为止做了什么?

标签: java javascript selenium-webdriver kendo-ui webdriver


【解决方案1】:

您可以使用操作类执行悬停操作...我使用 jquery 单击元素...我从您在评论部分提供的 xpath 中获取位置,因为没有 divheader_1 在提供的 HTML 源代码中..

Actions 动作 = new Actions(driver);

WebElement Hover_textbox = driver.findElement(By.xpath("//*[@id='txttab_2']"));

actions.moveToElement(Hover_textbox);

actions.perform();

//如果div里面只有一个span divheader_1

((JavascriptExecutor)driver).executeScript("document.getElementById('divheader_1').getElementsByTagName('span');");

//等待页面加载

【讨论】:

  • 感谢vicky的回复..... Actions actions = newActions(driver); WebElement mainMenu = driver.findElement(By.xpath("//*[@id='txttab_2']")); actions.moveToElement(mainMenu);动作.执行();线程.sleep(3000); / 直到我的代码正常工作 // WebElement subMenu = driver.findElement(By.xpath("//*[@id='divheader_1']/div[2]/div[1]/div/span")); actions.moveToElement(subMenu); actions.click().build().perform();
  • 我可以启用文本框编辑选项,我无法单击它.....元素不可见错误正在显示(chrome)
  • 请分享该子菜单元素的 HTML 源代码...以便我们尝试其他选项
  • 我已经编辑了我上面的代码...我用 Jquery 点击了元素。如果网站中没有使用/加载 jquery,上面的代码将不起作用。所以如果 jquery 请回来没有在您的站点中使用。如果使用 jquery,请检查上述代码中使用的选择器是否与 DOM 中的选择器相同
【解决方案2】:

试试这个。

/**
     * Function to hover over the designated element
     * 
     * @param driver
     *            -WebDriver currently in use by script
     * @param by
     *            -By identifying the element to hover over
     */
    protected static void hoverOverElement(WebDriver driver, By by) {
       new Actions(driver).moveToElement(driver.findElement(by)).perform();

    }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-06-22
    • 1970-01-01
    • 2023-03-07
    • 1970-01-01
    • 1970-01-01
    • 2013-10-17
    • 1970-01-01
    • 2013-05-23
    相关资源
    最近更新 更多