2010-01-31 6 views
11

en essayant de préformer un clic droit en utilisant le sélénium, des idées sur la façon de faire cela?comment pouvez-vous faire un clic droit en utilisant le sélénium?

+2

Qu'avez-vous fait vous-même? Ou voulez-vous que les gens fassent tout le travail pour vous? – Cromulent

+0

duplication possible de [JavaScript simuler un clic droit sur le code] (http://stackoverflow.com/questions/433919/javascript-simulate-right-click-through-code) –

Répondre

4

Veuillez voir docroots's answer pour le sélénium. Pour simuler un clic droit en JavaScript, regardez JavaScript simulate right click through code.

+0

Il y a un bouton pour lier des doublons ... I ' Je dis simplement ... –

+0

@Marc Gravell: Je suppose que c'était avant que j'atteigne 3000;) –

+0

Je supprimerais cette réponse, mais je ne peux pas, car c'est la réponse acceptée. –

2

il semble que pour mon problème (un élément qui ouvre un popup après un clic droit), en utilisant sélénium: mouse_down_right(), puis mouse_up_right() travaillé aussi bien. Merci.

11

Selon le 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

J'ai essayé ActionSequence et cela a fonctionné.

La fonction ContextClick est introuvable, vous devez cliquer sur.

Ainsi, il devrait être comme suit:

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

L'élément est votre élément web, 2 signifie faire un clic droit.

0

Sélénium propose une méthode pour un clic droit - ContextClick:

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