即时尝试使用selenium进行右键单击,有关如何执行此操作的任何想法吗?
答案 0 :(得分:12)
根据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();
答案 1 :(得分:4)
请参阅docroots's answer了解硒。
要通常模拟JavaScript中的右键单击,请查看JavaScript simulate right click through code。
答案 2 :(得分:2)
对于我的问题(右键单击后打开弹出窗口的元素),使用selenium的:mouse_down_right()然后mouse_up_right() 工作也很好。感谢。
答案 3 :(得分:1)
我已经尝试了ActionSequence并且它有效。
找不到ContextClick功能,您应该使用click。
所以,应该如下:
driver.actions().click(element,2).perform();
元素是您的网络元素,2表示右键单击。
答案 4 :(得分:1)
Selenium提供了一种右键单击方法 - ContextClick:
public void RightClick(IWebElement target)
{
var builder = new Actions(driver);
builder.ContextClick(target);
builder.Perform();
}