2017-12-06 5 views
0

Ich möchte eine Tabelle durchgehen und alle Zeilen der Tabelle durchlaufen und die Validierung für bestimmte Spalten Daten überprüfen möchten, wie das Datum ist vergangenes Datum muss identifiziert werden.Iterate durch eine Tabelle für Selen-Test

WebElement tableElement = webDriver.findElement(By.xpath("//[@id='tableID']/tbody/tr")); 
    String rowElement = null; 

    for(int i = 0; i < 9 ; i ++){ 
     rowElement = tableElement.findElement(By.xpath("//*[@id='column" + i + "']/td[3]")).getText(); 
     System.out.println(rowElement.toString()); 
    } 

Fehler ich habe ->

org.openqa.selenium.NoSuchElementException: no such element: Unable to locate element: {"method":"xpath","selector":"//*[@id='tableID']/tbody/tr"} 

Obwohl ich den Tisch ID verdoppeln überprüfen und es ist richtig. Ich bin neu in der Selenprüfung. Bitte helfen Sie, die Daten zu bekommen.

+0

Ihre Tabellen-ID ist möglicherweise korrekt, Ihr Locator jedoch nicht. Nach dem Doppelstrich fehlt das Sternchen. Ihr resultierendes TableElement ist null. –

+0

pls Erarbeiten Sie mir den Fehler – Kaustav

Antwort

0

Versuchen Sie, die Tabelle mithilfe ID nicht Xpath zu finden.

WebElement tableElement = webDriver.findElement(By.id("tableId")); 
0

ich den Code nicht getestet haben, aber unten ist die Korrektur I bis zu Ihrer ursprünglichen Post in meinem Kommentar anspielen:

WebElement tableElement = webDriver.findElement(By.xpath("//*[@id='tableID']/tbody/tr")); 
    String rowElement = null; 

    for(int i = 0; i < 9 ; i ++){ 
     rowElement = tableElement.findElement(By.xpath("//*[@id='column" + i + "']/td[3]")).getText(); 
     System.out.println(rowElement.toString()); 
    } 

Obwohl ich denke, es wahrscheinlich am besten sein würde, eine Reihe von Tabelleneinträgen zu erstellen:

Das obige ist auch "Luft-Code" und nicht getestet, könnte Tippfehler enthalten, nehmen Sie es als mehr Pseudo-Code.

+0

in Ihrem Code wo ist TableElement ?? – Kaustav

+0

habe ich meins einfach rows [] genannt und ja, ich merke jetzt, dass ich meinen Beispielcode nicht angepasst habe. Ich werde das jetzt reparieren. –

+0

Es kann immer noch nicht korrekt sein. Ich kann nicht sicher sein, ohne den eigentlichen HTML-Code zu sehen. –