【问题标题】:right click in protractor右键单击量角器
【发布时间】:2017-06-19 12:49:27
【问题描述】:

我正在尝试使用量角器右键单击一个元素,该元素是 ag-grid 中的一个单元格。

我正在尝试使用我能找到的一些较早的建议,唯一没有给我带来错误的建议如下:

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

虽然它根本没有右键单击。

有什么建议吗?

【问题讨论】:

  • 这可能是一个 hacky 解决方法(以及您已经尝试过的解决方案之一),但也许尝试告诉它按住另一个按钮然后执行正常单击?即在 Mac 上,如果您按住 CTRL 并单击,它就像右键单击一样。看起来会是keyDown(protractor.Key.CONTROL).perform(),然后是点击事件?
  • 首先,谢谢!我在 mac 中用这个 CTRL 学到了一些新东西。但不幸的是,当我在我的应用程序中使用它时,它给了我 chrome 的右键菜单,而不是我需要的网格之一。

标签: jasmine protractor ag-grid right-click


【解决方案1】:

webdriverJs api,你可以这样右键单击一个元素:

browser.actions()
    .click($('.myElm'), protractor.Button.RIGHT)
    .perform();

【讨论】:

    【解决方案2】:

    找到了那个答案。我真的很接近,但是对于那些寻找这个问题的人来说,解决方案是这样的:

    您传递给 mouseMove 函数的 elementVar 应该是所需的元素 location。这是什么意思? 例如,假设我们有一个名为“el”的元素,我们想右键单击它,我们的代码需要如下:

    async function rightClick (el) {
        loc = 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
    };
    

    【讨论】:

      【解决方案3】:

      在@Brine 的回答的基础上,我设法找到了一个没有 mousemove 东西或 Jquery 的方法。

      import { protractor } from 'protractor/built/ptor';
      
      const ele = element(by.id('my_element');
      browser.actions().click(ele, protractor.Button.RIGHT).perform();
      

      【讨论】:

        【解决方案4】:

        很确定这不是一个干净的解决方案,但如果您使用的是无头 chrome,上面的所有脚本都可以。 如果您使用的是普通的 chrome ant,上述解决方案不起作用,请尝试以下解决方法:

                await browser.actions().mouseMove(elementFinder).mouseDown().mouseMove(elementFinder).perform();
        

        【讨论】:

          【解决方案5】:

          将此添加到我的protractor.conf.js 对我有用:

          {
            capabilities: {
              chromeOptions: {
                w3c: false
              }
            }
          }
          

          来自https://github.com/angular/protractor/issues/5271

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2012-11-06
            • 1970-01-01
            相关资源
            最近更新 更多