2016-05-03 2 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]") это работает (я не хочу жёстко). Но не с идентификатором меню.

также пытался, но не повезло
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();