【问题标题】:how can you do right click using selenium?如何使用 selenium 进行右键单击?
【发布时间】:2010-01-31 12:06:27
【问题描述】:

我正在尝试使用 selenium 进行右键单击,有什么想法吗?

【问题讨论】:

标签: selenium right-click


【解决方案1】:

根据OpenQA.Selenium.Interactions Namespace.

// step 1 - select the element you want to right-click
var elementToRightClick = this.Driver.FindElement(By.Id("elementtoclickonhasthisid"));
// step 2 - create and step up an Actions object with your driver
var action = new OpenQA.Selenium.Interactions.Actions(this.Driver);
action.ContextClick(elementToRightClick);
// step 3 - execute the action
action.Perform();

【讨论】:

    【解决方案2】:

    请参阅docroots's answer 了解硒。

    要在 JavaScript 中模拟右键单击,请查看 JavaScript simulate right click through code

    【讨论】:

    • @Marc Gravell:我想这是在我达到 3000 之前;)
    • 我会删除这个答案,但我不能,因为它是被接受的。
    • 欣赏开放性,但现在可能不值得大惊小怪。
    • @Marc:你可能是,但我对答案表示赞成,看了看,想把事情弄清楚:) 我的评论实际上不是针对你,而只是一般任何读者的评论。
    【解决方案3】:

    似乎对于我的问题(右键单击后打开弹出窗口的元素),使用 selenium 的:mouse_down_right() 然后 mouse_up_right() 工作得很好。谢谢。

    【讨论】:

      【解决方案4】:

      Selenium 提供了一种右键单击方法 - ContextClick:

              public void RightClick(IWebElement target)
              {
                  var builder = new Actions(driver);
                  builder.ContextClick(target);
                  builder.Perform();
              }
      

      【讨论】:

        【解决方案5】:

        我试过 ActionSequence 并且成功了。

        没有找到ContextClick函数,你应该使用click。

        所以,应该是这样的:

        driver.actions().click(element,2).perform();
        

        元素就是你的web元素,2代表右键。

        【讨论】:

          猜你喜欢
          • 2013-12-17
          • 1970-01-01
          • 2019-01-08
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-01-14
          • 1970-01-01
          相关资源
          最近更新 更多