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

Actionsクラスを使用します。「ラウンド」サブメニュー項目が「デフォルト管理」トップレベルメニュー項目にカーソルを合わせた後にのみ表示される例を次に示します。

        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

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 に答える
0

最初の div クラスをクリックしてから、2 番目をクリックしてみてください。

于 2011-03-15T11:07:23.810 に答える