2016-05-03 74 views
0

點擊我需要做到以下幾點:如何上下文菜單 - 彈出菜單

1)右鍵單擊一個元素

2)上下文菜單顯示

3)在移動 在上下文菜單中的特定菜單(move_to_element) - 彈出
另一個菜單說MenuX

4)需要點擊MenuX

我能夠做的步驟1到3而不是4 當我檢查is_displayed爲MenuX返回False

當我嘗試driver.find_element_by_xpath("html/body/div[5]/span[2]") 它的工作原理(我不想硬編碼)。 但沒有菜單的ID。

也試過,但沒有運氣
actions = ActionChains(driver)
actions.move_to_element(menu)
actions.click(hidden_submenu)
actions.perform()

我也試過driver.find_element_by_css_selector("div#contextMenu_Div #menuX")並沒有奏效。 MenuX不是鏈接,而是一個span元素。

回答

-1

嘗試使用下面的代碼,以便右擊後點擊子菜單項:

WebElement element = driver.findElement("Find the element on which right click needs to be performed")); 

Actions actions = new Actions(driver).contextClick(element); 
WebElement mainMenu = driver.findElement(By.linkText("menulink")); 
actions.moveToElement(mainMenu); 

WebElement menuX = driver.findElement(By.cssSelector("subLinklocator")); 
actions.moveToElement(menuX); 
actions.click().build().perform(); 

希望這有助於

+0

感謝KARTHIK對於這個建議,但它沒有幫助。 – Venu

-1

你可以試試這個..

Actions actions = new Actions(driver); 
actions.contextClick(mainelement); 
actions.moveToElement(menuelement); 
actions.perform(); 

//at this point ur MenuX shd be visisble. 

driver.findElement("locator for ur MenuX").click();