如何单击上下文菜单 - 弹出菜单

时间:2016-05-03 11:26:00

标签: python selenium selenium-webdriver contextmenu

我需要做以下事情:

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元素。

2 个答案:

答案 0 :(得分:-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();

希望这有帮助

答案 1 :(得分:-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();