我正在尝试使用Selenium Webdriver右键单击页面,然后导航上下文菜单。此脚本应打开右键菜单,然后导航Up 2选项,然后使用Return键选择...
driver.Navigate().GoToUrl("http://www.google.com");
//Google search bar
IWebElement tb = driver.FindElement(By.Id("lst-ib"));
Actions action = new Actions(driver);
//Right Clicks outside of the search bar.
action.MoveToElement(tb, -5, -5).ContextClick().Perform();
action.SendKeys(Keys.Up).SendKeys(Keys.Up).SendKeys(Keys.Return).Perform();
右键单击执行应该(在搜索栏之外),但之后,没有按下向上箭头的证据,并且没有使用Return键选择任何内容。菜单选项应在滚动时突出显示。
我使用的是最新版ChromeDriver 2.30和Chrome 59.0.3071.109
答案 0 :(得分:0)
如果您的应用程序仅在Windows上运行,则可以使用System.Windows.Forms.SendKey。
action.MoveToElement(tb, -5, -5).ContextClick().Perform();
System.Windows.Forms.SendKeys.SendWait("{UP}");
System.Windows.Forms.SendKeys.SendWait("{UP}");
System.Windows.Forms.SendKeys.SendWait("{ENTER}");
答案 1 :(得分:0)
如果是用户设计的上下文菜单。上下文菜单本身将具有定位器
`WebElement element =driver.findElement(By.xpath("your xpath"));
Actions action = new Actions(driver);
action.contextClick(selectedCell).build().perform();
WebElement copyContext = driver.findElement(By.xpath("xpath of the right context column"));
if (copyContext .isEnabled())
{
copyContext .click();
log.info("Right context menu COPY CONTENT clicked.");
}
`
答案 2 :(得分:0)
这个chromedriver bug自2015年以来一直无人值守。 我使用PyAutoGui来控制对话框。