2017-09-28 2 views
0

Ich versuche ContextClick() -Methode von SelenicWindriver zu verwenden, um mit der rechten Maustaste auf Element zu klicken und die zweite Option aus dem Kontextmenü auszuwählen. Das ist mein Beispielcode hier. wenn ich diesen Rechtsklick ausführen, geschieht nicht auf dem angegebenen Element, keine Fehlermeldung. Ich benutze Selen 3.4, für beide Firefox und Chrome-Treiber versucht.mit Contextclick in Selen webdriver

Jede Hilfe zu diesem sehr geschätzt ..!

driver = new FirefoxDriver(); 
driver.get("http://google.com"); 
driver.findElement(By.name("q")).sendKeys("London"); 

Actions action = new Actions(driver); 
driver.findElement(By.xpath("//input[@value='Google Search']")).click(); 
action.contextClick(driver.findElement(By.xpath("//a[text()='Sign in']"))).build().perform(); 
+0

Was Exaclty Wat kann ich wissen – iamsankalp89

Antwort

0

dies ist bekannt, dieses Problem Links Ausgabe von Firefox und Selen jar 3.2 und höher

Siehe:

https://github.com/mozilla/geckodriver/issues/233 https://github.com/SeleniumHQ/selenium/issues/3348

Als ich es das Exception

werfen versucht

Ausnahme im Thread "Haupt" org.openqa.selenium.UnsupportedCommandException: MouseMoveTo

ich diesen Code versucht haben:

System.setProperty("webdriver.chrome.driver","E:/software and tools/chromedriver_win32/chromedriver.exe"); 
WebDriver driver = new ChromeDriver(); 
driver.get("http://google.com"); 
driver.manage().window().maximize(); 
driver.findElement(By.name("q")).sendKeys("London"); 
driver.findElement(By.name("q")).sendKeys(Keys.ENTER); 
WebElement ele= driver.findElement(By.xpath("//a[text()='Sign in']")); 
Actions action = new Actions(driver); 
action.moveToElement(ele); 
action.contextClick(ele).build().perform(); 

Auch modifizierte ich Ihren Code als

driver.findElement(By.xpath("//input[@value='Google Search']")).click(); 

als diese Aussage throw nosuchelementexception Ausnahme, da es versteckt sich, Versuchen Sie diesen Code, es funktioniert für mich

+0

Danke @ iamsankalp89, ich kann mit der rechten Maustaste auf das Element klicken, aber wenn ich versuche, auf die Option im Kontextmenü zu klicken, wird die Eingabetaste gedrückt. Anstatt die Option aus dem Kontextmenü auszuwählen, mache ich folgendes: action.contextClick (ele) .sendKeys (Keys.ARROW_DOWN) .sendKeys (Keys.ARROW_DOWN) .sendKeys (Keys.RETURN) .build(). perform (); – Yogiraj