webdriver没有点击按钮

时间:2011-03-11 20:23:21

标签: webdriver selenium-webdriver

我有一个场景,如果鼠标悬停在一个框中,它会显示我想要点击的按钮。 html是这样的:

<div class="Box on which hovering i get the button">
  <div class="special button comes only on hovering">

我使用此代码点击webdriver但没有任何成功:

(IrenderedWebElement)driver.hover(locatorOfBox)
(IrenderedWebElement)driver.click(special button locator)
if(button.isDisplayed)
driver.click

我已尝试在悬停和点击之间等待,但没有用。我被困在那里寻找答案。

3 个答案:

答案 0 :(得分:1)

使用Actions类。这是一个例子,“Rounds”子菜单项只有在“默认管理”顶级菜单项上悬停后才能看到:

        IWebElement topLevelMenu = driver.FindElement(By.LinkText("DEFAULT MANAGEMENT"));
        var actions = new Actions(driver);
        actions.MoveToElement(topLevelMenu).Perform();
        driver.FindElement(By.LinkText("ROUNDS")).Click();

答案 1 :(得分:0)

尝试点击第一个div类,然后点击第二个。

答案 2 :(得分:0)

使用Xpath(找到确切的按钮 - 在自动生成id时有帮助)点击按钮

driver.findElement(By.xpath("//*[@class='Box on which hovering i get the button']/div")).click();

希望下面的链接有助于手动生成xpath

http://www.guru99.com/accessing-links-tables-selenium-webdriver.html
see under "Reading a Table-->XPath Syntax"