2010-01-31 9 views
11

im cercando di preformare un clic destro con selenio, qualche idea su come fare questo?come si può fare clic destro con selenio?

+2

Cosa hai te stesso fatto? O vuoi che le persone facciano tutto il lavoro per te? – Cromulent

+0

possibile duplicato di [JavaScript simula il tasto destro del mouse sul codice] (http://stackoverflow.com/questions/433919/javascript-simulate-right-click-through-code) –

risposta

4

Si prega di vedere docroots's answer per il selenio.

Per simulare in genere un clic con il pulsante destro del mouse in JavaScript, dare un'occhiata a JavaScript simulate right click through code.

+0

C'è un pulsante per il collegamento ai duplicati ... I ' Sto solo dicendo ... –

+0

@Marc Gravell: immagino che fosse prima che raggiungessi il 3000;) –

+0

Cancellerei questa risposta, ma non posso, dato che è accettata. –

2

sembra che per il mio problema (un elemento che apre un popup dopo un clic destro), utilizzando selenio: mouse_down_right() e poi mouse_up_right() ha funzionato pure. Grazie.

11

Secondo lo 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

ho provato ActionSequence e ha funzionato.

La funzione ContextClick non è stata trovata, è necessario utilizzare il clic.

Quindi, dovrebbe essere la seguente:

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

L'elemento è il vostro elemento web, 2 significa tasto destro del mouse.

0

selenio sta offrendo un metodo per click destro - ContextClick:

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