2011-03-11 161 views
1

我有一個場景,如果鼠標懸停一個盒子,它顯示我想要點擊的按鈕。在HTML是這樣的:webdriver沒有點擊按鈕

<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 

我試圖把等待也懸停之間,點擊,但沒有使用。我被卡住了,所以尋找答案。

+0

嘿,是你能解決這個問題?如果是,你可以在這裏分享嗎? – ChrisOdney 2011-05-25 06:49:28

回答

0

嘗試點擊第一個div類,然後點擊第二個。

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(); 
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"