2010-01-31 2 views
11

im пытается преформировать правый щелчок, используя селен, любые мысли о том, как это сделать?как вы можете сделать правый клик, используя селен?

+2

Что вы сделали сами? Или вы хотите, чтобы люди делали для вас всю работу? – Cromulent

+0

Возможный дубликат [JavaScript имитирует правый щелчок по коду] (http://stackoverflow.com/questions/433919/javascript-simulate-right-click-through-code) –

ответ

4

См. docroots's answer для селена.

Чтобы в целом имитировать щелчок правой кнопкой мыши на JavaScript, посмотрите на JavaScript simulate right click through code.

+0

Есть кнопка для ссылки на дубликаты ... Я ' m просто говорю ... –

+0

@Marc Gravell: Я думаю, это было до того, как я достиг 3000;) –

+0

Я бы удалил этот ответ, но я не могу, так как он принят. –

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 не найдена, вы должны использовать клик.

Таким образом, это должно быть следующим:

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

Элемент ваш веб-элемент, 2 означает правой кнопкой мыши.

0

Селен предлагает способ правой кнопкой мыши - ContextClick:

 public void RightClick(IWebElement target) 
     { 
      var builder = new Actions(driver); 
      builder.ContextClick(target); 
      builder.Perform(); 
     } 
Смежные вопросы