2010-01-31 98 views
11

即时通讯尝试使用硒进行右键单击,有关如何操作的任何想法?如何使用硒右键单击?

+2

你做了什么你自己吗?或者你想让人们为你做所有的工作? – Cromulent 2010-01-31 12:11:02

+0

可能重复的[JavaScript通过代码模拟右键单击](http://stackoverflow.com/questions/433919/javascript-simulate-right-click-through-code) – 2011-09-26 19:50:31

回答

4

请参阅docroots's answer硒。

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

+0

有一个链接到重复的按钮...我'我只是说... – 2010-02-07 09:13:31

+0

@Marc Gravell:我想这是在我达到3000之前;) – 2010-02-07 17:24:39

+0

我会删除这个答案,但我不能,因为它是公认的答案。 – 2012-08-17 12:41:48

2

对于我的问题(右键点击后打开弹出窗口的元素),使用硒的:mouse_down_right(),然后使用mouse_up_right() 也可以。谢谢。

11

根据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(); 
0

我试过ActionSequence它工作。

找不到ContextClick函数,您应该使用click。

所以,它应该是如下:

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

的元素是你的网络元素,2表示右键。

0

硒,为右键的方法 - ContextClick:

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