子菜单单击不使用操作

时间:2017-12-19 09:25:28

标签: html css selenium selenium-webdriver action

enter image description here

无法点击我们的应用程序中的子菜单。根据附图。我正在尝试实现以下方案步骤:

  1. 点击Menu 1
  2. <Item 3>上的MouseOver
  3. 点击Sub Item 2
  4. 我尝试了下面的代码并且无法点击Sub Item 2,因为问题是当selenium试图点击Sub Item 2时,焦点/光标/鼠标悬停从第3项变为第1项。单击项目1中的项目。

    driver.findElement(By.linkText("Menu 1")).click();
    WebElement item3 = driver.findElement(By.linkText("<Item 3>"));
    Actions action = new  Actions(driver);
    action.moveToElement(item3).pause(Duration.ofSeconds(1)).build().perform();
    action.moveToElement(driver.findElement(By.linkText("<sub Item2>")))
    .click().build().perform();`
    

    请帮我解决这个问题。

2 个答案:

答案 0 :(得分:1)

您可以将其设为链式操作。它可能适合你。

WebElement menu1 = driver.findElement(By.linkText("Menu 1"));
WebElement item3 = driver.findElement(By.linkText("<Item 3>"));

Actions action = new  Actions(driver);
action.click(menu1).moveToElement(item3).click(driver.findElement(By.linkText("<sub Item2>"))).build.perform();

答案 1 :(得分:0)

根据您的步骤:

  1. 点击“菜单1”
  2. 项目3上的MouseOver
  3. 点击Sub Item 2
  4. 这是伪代码块:

    driver.findElement(By.linkText("Menu 1")).click();
    WebElement item3 = driver.findElement(By.linkText("<Item 3>"));
    Actions action = new  Actions(driver);
    action.moveToElement(item3).build().perform();
    driver.findElement(By.linkText("<sub Item2>")).click();