【问题标题】:How to perform right click in protractor?如何在量角器中执行右键单击?
【发布时间】:2020-03-12 10:53:19
【问题描述】:

我已经通过堆栈溢出答案(right click in protractor) 尝试了几乎所有方法,但仍然无法执行右键单击。

低于我使用过的:

browser.actions().mouseMove(locator).perform();
browser.actions().click(protractor.Button.RIGHT).perform();

【问题讨论】:

  • 你没有将鼠标移动到定位器...你需要将鼠标移动到一个元素,通过定位器找到
  • 是的,谢尔盖,我知道,只是举个例子,我提到了一个位置,否则我在这里传递一个元素。

标签: protractor


【解决方案1】:

我们必须先获取元素位置,然后移动到该元素,然后右键单击它。

rightclick: async () => {
        return new Promise(async (resolve, reject) => {
            try {
                let el = locator.Loginscreen.submit; // element(by.css('#okta-signin-submit'))
                let loc = await el.getLocation();    //get the location of the element we want to click
                await browser.actions().mouseMove(loc).perform();   //takes the mouse to hover the element
                await browser.actions().click(protractor.Button.RIGHT).perform();    //performs the right click
            }
            catch (err) {
                return reject(err);
            }
        })
    }

在截图中检查这个方法

当我运行它时,它可以在登录屏幕的提交按钮上正确

【讨论】:

  • 感谢 Bharat 的详细回答,但此解决方案不适用于我的用户,右键单击它会打开上下文菜单。我可以看到它适用于其他网站,但不适用于我的情况。我几乎尝试了一切。你能用 Javascript 执行器推荐一些东西吗?我想知道这是否可行?
  • @QA_hacks 你破解了吗?
  • Kumar S : 我知道 74 版以上的 chrome 浏览器版本不支持右键单击。这是参考:github.com/angular/protractor/issues/5271
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-12-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多