1

我有一个场景,如果鼠标悬停在一个框上,它会显示我想要单击的按钮。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

我曾尝试在悬停和单击之间也放置等待,但没有用。我被困住了,所以在寻找答案。

4

3 回答 3

1

使用动作类。这是一个示例,其中“回合”子菜单项仅在将鼠标悬停在“默认管理”顶级菜单项上后才可见:

        IWebElement topLevelMenu = driver.FindElement(By.LinkText("DEFAULT MANAGEMENT"));
        var actions = new Actions(driver);
        actions.MoveToElement(topLevelMenu).Perform();
        driver.FindElement(By.LinkText("ROUNDS")).Click();
于 2012-07-30T01:59:39.307 回答
0

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

于 2011-03-15T11:07:23.810 回答
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"
于 2013-07-09T10:06:39.873 回答