2011-11-04 27 views
6

Używam Selenium 2 (sterownik sieciowy) pod Linuksem z FireFoxDriver.Selenium 2 kliknij prawym przyciskiem myszy

Nie mogę wykonać kliknięcia prawym przyciskiem myszy w WebElement lub w innym miejscu, używając współrzędnych. Nie mogę również poruszać wskaźnikiem myszy.

Próbowałem użyć „Actions” obiektu:

Actions actions = new Actions(ffDriver); 
WebElement we = ffDriver.findElement(By.linkText("WhatEver")) 
actions.contextClick(we).build().perform(); 

ja też próbowałem użyć „mysz” obiekt:

Mouse mouse = ((HasInputDevices)ffDriver).getMouse(); 
mouse.contextClick(we.getCoordinates()); 

Te kody nie uda, ale don Nic nie rób.

Jeśli jednak wykonam zwykłe kliknięcie w dwóch powyższych przykładach, działa zgodnie z oczekiwaniami.

Czy ktoś wie, co to jest za problem?

Dziękuję.

+0

Czy ktoś ma pomysł na rozwiązanie tego problemu? –

Odpowiedz

2

Wreszcie zrozumiałem problem.

W Selenium 2, funkcja "contextClick" na elemencie sieciowym nie symuluje kliknięcia prawym przyciskiem myszy w tym elemencie, po prostu aktywuje zdarzenie "onContextMenu()" umieszczone w kodzie HTML elementu.

Tak więc, jeśli chcesz uzyskać dostęp do tego rodzaju menu kontekstowych, powinien być obsługiwany na kodzie HTML.