2016-07-19 10 views
0

Wie klicke ich dieses Bild in einem div and span mit Selen-Webdriver (Java)? Diese ist der HTML-Code:Wie klicke ich ein div span img mit Selenium java

<div id="pane_" name="pane_" xmlns:fo="http://www.w3.org/1999/XSL/Format"> 
<ul class="menuMargin"> 
    <li class="clsHasKids"> 
    <span onclick="ProcessMouseClick(event)" onkeypress="ProcessKeyPress(event)"> 
    <img tabindex="0" id="imgError" src="../plaf/images/default/menu/menu_right.gif" alt="Customer">Customer 
    </span> 

Das, was der XPath ist für die "Kunden" Bildlink:

//*[@id="pane_"]/ul[2]/li/span 

Einige der Codes I verwendet und nichts funktionierte:

driver.findElement(By.linkText("Customer")).sendKeys(Keys.SHIFT,Keys.ENTER); 


driver.findElement(By.xpath("//a[@alt='Customer']")).click(); 


driver.findElement(By.tagName("//div[@id='pane_']//ul[2]//li//span")).click(); 
+0

Können Sie teilen Sie den Link der Website, wo Sie dies tun? –

+0

Haben Sie versucht, dass Xpath Sie oben erwähnt haben. Wie ** driver.findElement (By.xpath ("// * [@ id =" Fenster _ "]/ul [2]/li/span")). Click(); ** –

+0

Haben Sie versucht: 'driver.findElement (By.xpath (" // * [@ id = "Fenster _"]/ul [2]/li/span ")). Click();'? –

Antwort

0

auf das Bild für das Klicken Sie sollten mit versuchen unter xpath: -

driver.findElement(By.xpath("//span[contains(. , 'Customer')]")).click(); 

Editiert: -

WebDriverWait wait = new WebDriverWait(driver, 10); 
WebElement el = wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//span[contains(. , 'Customer')]"))); 

Hoffe, es hilft .. :)

+0

nichts passiert und ich bekomme diesen Fehler: 'Kann Element nicht finden: {" Methode ":" XPath "," Selektor ":" // span [enthält (., 'Customer')] "}' – ebanster

+0

@ebanster versuchen mit 'WebDriverWait' mit aktualisierter Antwort ... –

+0

Fehler wie folgt:' Ausnahme im Thread "main" org.openqa.selenium.TimeoutException: Zeitlimit nach 10 Sekunden auf die Sichtbarkeit des Elements von By.xpath: // span [ contains (., 'Customer')] ... verursacht durch: org.openqa.selenium.NoSuchElementException: kein solches Element: Element kann nicht gefunden werden: {"method": "xpath", "selector": "// span [contains (., 'Customer')] "}' – ebanster

0

Wenn Sie auf den Bereich klicken, um das Javascript onclick-Ereignis aufzurufen, wird dies

WebElement e = d.findElement(By.id("pane_")); 

e.findElement(By.tagName("span")).click(); 
tun

und

e.findElement(By.tagName("span")).findElement(By.tagName("img")).click(); 
+0

Gleich wie die oben genannten und nichts passiert leider. Fehler 'kein solches Element: Element kann nicht gefunden werden: {"Methode": "ID", "Selektor": "Bereich _"} ' – ebanster

+0

eine explizite Wartezeit hinzufügen WebDriverWait.until (Bedingung-das-findet-das-Element) ; –