2017-03-04 2 views
0

Es gibt ein Problem für Selen für alle Web-Treiber, die Mouseover-Menü nicht öffnen kann.Although assing zu Xpath des Elements Web-Treiber kann nicht öffnen Mouse Over (CatMenu) und log ist das "Muss einen Ort für eine Bewegungsaktion bereitstellen ".Xpath funktioniert nicht auf MouseOver (CatMenu) in Selenium

Ich möchte gehen n11.com Web-Adresse und über Kitap, Müzik, Film, Oyun und klicken Sie auf Kitap, aber es funktioniert nicht. Danke

@Test 

public void startWebDriver(){ 
System.setProperty("webdriver.chrome.driver", "C://chromedriver.exe"); 
WebDriver driver = new ChromeDriver(); 
driver.manage().window().maximize(); 
driver.get("http://www.n11.com"); 


Actions act = new Actions(driver); 
act.moveToElement(driver.findElement(By.xpath(".//*[@id='contentMain']/div/nav/ul/li[8]/a"))).perform(); 

}

Antwort

1

Verwenden folgenden Code das gleiche zu erreichen -

System.setProperty("webdriver.chrome.driver", "C://chromedriver.exe"); 
    driver =new ChromeDriver();  
    driver.get("http://www.n11.com/"); 
    driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS); 

    WebElement menu = driver.findElement(By.xpath("//li[@class='catMenuItem']/a[@title='Kitap, Müzik, Film, Oyun']")); 
    WebElement submenu = driver.findElement(By.xpath("//li[@class='subCatMenuItem']/a[@title='Kitap']")); 

    Actions action = new Actions(driver); 

    action.moveToElement(menu).moveToElement(submenu).click().build().perform(); 

Verwenden einige Implicit Wait Zeit zu vermeiden ut Ausnahmen, um Ihr Webelement zu finden
Verwenden Sie genauer xpath, um Ihr Webelement zu finden.

In Ihrem Fall müssen Sie zuerst auf Kitap, Müzik, Film, Oyun Menü schweben und dann auf

+0

Vielen Dank !! @ Narendra –

0

Sie können versuchen, ExplicitWait mit spezifischeren XPath zu verwenden:

WebDriverWait wait = new WebDriverWait(driver, 15); 
WebElement element = wait.until(ExpectedConditions.elementToBeClickable(By.xpath("(//a[@title='Kitap, Müzik, Film, Oyun']")[2]))); 
// WebElement element = wait.until(ExpectedConditions.elementToBeClickable(By.linkText("Kitap, Müzik, Film, Oyun"))); 
Actions act = new Actions(driver); 
act.moveToElement(element).perform(); 
+0

auf Kitap Untermenü kehrt Dieser Code java.lang.NullPointerException ausführen müssen, und ich Grund @Andersson –

+0

WebElement element = wait.until finden couldnot (ExpectedConditions.elementToBeClickable (By.xpath ("// a [@ title = 'Kitap, Müzik, Film, Oyun']"))); Thats Rückkehr null Punkt expection –

+1

Ja, das Problem ist, dass es zwei Links mit dem gleichen Titel und der erste ist versteckt ... versuchen zu verwenden '" (// a [@ title = 'Kitap, Müzik, Film, Oyun '] ") [2]' stattdessen ... – Andersson

Verwandte Themen