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

时间:2015-06-26 14:08:32

标签: javascript menu protractor right-click

执行右键单击后,我尝试选择“返回”。我可以获得右键菜单。我尝试选择“返回”时收到错误。 这是代码:

browser.driver.findElement(By.linkText("Back")).click();

我在MAC-OS上使用Chrome浏览器。

这是错误:

  

消息:NoSuchElementError:没有这样的元素(会话信息:   chrome = 43.0.2357.130)(驾驶信息:chromedriver = 2.14.313457   (3d645c400edf2e2c500566c9aa096063e707c9cf),platform = Mac OS X 10.10.3   x86_64)(警告:服务器未提供任何堆栈跟踪   信息)命令持续时间或超时:23毫秒

2 个答案:

答案 0 :(得分:0)

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

$('#element').mousedown(function(event) {
    switch (event.which) {
        case 1:
            alert('Left Mouse button pressed.');
            break;
        case 2:
            alert('Middle Mouse button pressed.');
            break;
        case 3:
            alert('Right Mouse button pressed.');
            break;
        default:
            alert('You have a strange Mouse!');
    }
});

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

window.history.back();

希望这就是你要找的东西。

答案 1 :(得分:0)

您可能会在菜单出现之前点击该菜单。

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();