【发布时间】:2010-01-31 12:06:27
【问题描述】:
我正在尝试使用 selenium 进行右键单击,有什么想法吗?
【问题讨论】:
-
你自己做了什么?还是您希望人们为您完成所有工作?
标签: selenium right-click
我正在尝试使用 selenium 进行右键单击,有什么想法吗?
【问题讨论】:
标签: selenium right-click
根据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();
【讨论】:
请参阅docroots's answer 了解硒。
要在 JavaScript 中模拟右键单击,请查看 JavaScript simulate right click through code。
【讨论】:
似乎对于我的问题(右键单击后打开弹出窗口的元素),使用 selenium 的:mouse_down_right() 然后 mouse_up_right() 工作得很好。谢谢。
【讨论】:
Selenium 提供了一种右键单击方法 - ContextClick:
public void RightClick(IWebElement target)
{
var builder = new Actions(driver);
builder.ContextClick(target);
builder.Perform();
}
【讨论】:
我试过 ActionSequence 并且成功了。
没有找到ContextClick函数,你应该使用click。
所以,应该是这样的:
driver.actions().click(element,2).perform();
元素就是你的web元素,2代表右键。
【讨论】: