2017-02-21 8 views
0

3 passende Knoten .. haben alle gleichen Quellcode ..hence es //img[(@src='/PHYLINSPortlet/images/override-0.gif')]Wie finde ich den relativen x Pfad des eindeutigen Codes?

<img id="_PHYLINSPortlet_WAR_PHYLINSPortlet_INSTANCE_o3P5_:form_PolicyContent_UI2:Messages:0:j_id1885:0:j_id897" class="null" alt="" src="/PHYLINSPortlet/images/override-0.gif" style="border:0px"/> 

Dies ist die xpath einer dynamischen Taste versagt:

enter image description here

Ich brauche alle klicken die Knöpfe.

was ich getan habe ist -

List<WebElement> buttons = driver.findElements(By.xpath("//img[(@src='/PHYLINSPortlet/images/override-0.gif')]")); 
    for(WebElement button : buttons) { 
     button.click(); 
    } 
+0

Wie einzigartig XPath – heardm

+0

'id' Attribut finden sollte für jedes Element eindeutig sein. Überprüfen Sie, ob es dynamisch ist (jedes Mal nach der Seitenaktualisierung geändert) oder nicht – Andersson

+0

es ist für alle 3 Tasten gleich. Ich habe Bild angehängt – heardm

Antwort

0

Es wenig schwierig ist, die richtige Lösung des Problems zur Verfügung zu stellen, wie Sie Ihre HTML nicht geteilt haben.

Als ich das Bild in der Frage beobachten. Sie haben 3 gleichen Arten von Bild und wollen auf einem bestimmten Bild klicken Sie SECOND Bild können sagen, dann xpath Methoden wie following-sibling oder preceding-sibling, um Ihren xpath einzigartige

Beispiel verwenden müssen: -

Sie welche haben Angenommen eindeutige Spalte in Ihrer Tabelle (Regel-ID) oder Sie möchten auf ein bestimmtes image.eg klicken Regel-ID Val01014 Bild

die Methoden verwenden wie folgt xpath -

//img[@src='/PHYLINSPortlet/images/override-0.gif']/preceding-sibling::td[text()='Val_01014'] 

ODER

//img[@src='/PHYLINSPortlet/images/override-0.gif']/following-sibling::td[text()='Val_01014'] 
Verwandte Themen