如何使用量角器/Javascript在浏览器菜单上选择右键单击菜单项?

如何使用量角器/Javascript在浏览器菜单上选择右键单击菜单项?,javascript,menu,protractor,right-click,Javascript,Menu,Protractor,Right Click,我在右键单击后尝试选择“后退”。我可以得到右击菜单。我尝试选择“后退”时出错。 代码如下: browser.driver.findElement(By.linkText("Back")).click(); 我正在MAC-OS上使用Chrome浏览器 以下是错误: 消息:NOSCHELEMENTERROR:没有此类元素(会话信息: chrome=43.0.2357.130)(驾驶员信息:chromedriver=2.14.313457 (3D645C400EDF2E2C500566C9AA090

我在右键单击后尝试选择“后退”。我可以得到右击菜单。我尝试选择“后退”时出错。 代码如下:

browser.driver.findElement(By.linkText("Back")).click();
我正在MAC-OS上使用Chrome浏览器

以下是错误:

消息:NOSCHELEMENTERROR:没有此类元素(会话信息: chrome=43.0.2357.130)(驾驶员信息:chromedriver=2.14.313457 (3D645C400EDF2E2C500566C9AA09063E707C9CF),平台=Mac OS X 10.10.3 x86_64)(警告:服务器未提供任何堆栈跟踪 信息)命令持续时间或超时:23毫秒


您可以使用以下jQuery代码来检测鼠标右键单击

您可以调用以下代码来执行后退按钮操作(或转到最后访问的页面)


希望这就是您要查找的内容。

可能是您试图在菜单出现之前单击它

var driver = browser.driver,
 wd = browser.wd,
 until = wd.until,
 elementToRightClick = driver.findElement(wd.By.linkText('foo'));
 driver.actions().click(elementToRightClick,wd.Button.RIGHT).perform(); 
 driver.wait(until.elementIsVisible(driver.findElement(wd.By.linkText('back')),5000, 'Element back was not visibile');
 driver.findElement(wd.By.linkText('back')).click();

您遇到了什么错误?右键单击不是一种web功能。。只是不要。演示如何执行右键单击和菜单的HTML结构。@alecxe我正在尝试进入浏览器的右键单击菜单以选择“上一步”。下面是代码:“browser.driver.actions()。单击(量角器.Button.RIGHT)。执行();//做右击鼠标。browser.driver.actions().sendKeys(量角器.Key.ARROW_DOWN).perform()//把箭射下来。browser.driver.actions().sendKeys(progrator.Key.ENTER).perform();//在Stackoverflow上找到此代码-Lyle我想做的是让浏览器菜单出现,然后在浏览器菜单上选择出现的不同项目。我需要,因为它与应用程序交互。谢谢,但上面的代码不起作用。问题是找不到“back”。我在等待的早些时候输入了一个错误。现在编辑它。右键单击是否有效?是否确定“后退”选择器正确?右键单击是否有效。我看到菜单了。将尝试您编辑的代码。会让你知道发生了什么。谢谢
window.history.back();
var driver = browser.driver,
 wd = browser.wd,
 until = wd.until,
 elementToRightClick = driver.findElement(wd.By.linkText('foo'));
 driver.actions().click(elementToRightClick,wd.Button.RIGHT).perform(); 
 driver.wait(until.elementIsVisible(driver.findElement(wd.By.linkText('back')),5000, 'Element back was not visibile');
 driver.findElement(wd.By.linkText('back')).click();