2017-03-07 2 views
0

Ich möchte eine bestimmte Zeile in einer Tabelle auf einer Website auswählen und daneben eine Schaltfläche auswählen. Das Problem, das ich habe, ist jedes Mal, wenn ich den Knopf wähle, erinnert sich der letzte Knopf durch Position xpath=(//a[@id='DeleteLnkBtn'])[4], aber ich möchte die Reihe nach dem Namen auswählen und den Knopf wählen, der zu dieser Reihe einzigartig ist. Es gibt mehrere Zeilen mit denselben Schaltflächen, die alle denselben Namen haben (Löschen).So wählen Sie eine Zeile in einer Tabelle aus und wählen ein spezifisches Optionsfeld daneben

HTML:

<td>Auto Missed Session 2</td> <a id="DeleteLnkBtn" >Delete</a> 

Mein Ziel ist es, die Reihe durch einen Text in der Tabelle "Auto Missed Session 2" und klicken Sie auf die Schaltfläche Löschen verweisen.

Hier ist, was ich bisher versucht habe.

Option 1-driver.findElement(By.xpath("//tr/td[contains(text() = 'Auto Missed ssion 2', + 'DeleteLnkBtn')]")).click();

Option 2-driver.findElement(By.xpath("(//tr/td[contains(text(),'Auto Missed Session 2' + 'Delete')])")).click();

Die oben reißt die besagt, dies ist kein gültiger XPath express auf Option 1 und kein solches Element: unable Element lokalisieren auf Option 2

Die Tabellendaten sehen folgendermaßen aus: td> Autom. Verpasste Sitzung 2/td> - Dies ist der Name der Zeile in der Tabelle, die ich auswählen möchte.

a id= "DeleteLnkBtn" Dies ist die Schaltfläche, die ich auswählen möchte.

Xpath der Taste ist //*[@id="DeleteLnkBtn"]

Dank.

+0

Können Sie 'HTML' Code für den gleichen teilen? – Andersson

+0

Auto verpasste Sitzung 2 Delete Nova

Antwort

0

unten Code Versuchen Sie, und lassen Sie mich wissen, das Ergebnis:

driver.findElement(By.xpath("//td[text() = 'Auto Missed Session 2']/following::a[text()='Delete']")).click(); 
+0

Vielen Dank Andersson, sehr geschätzt. Ich denke, mein XPath wurde schlecht geschrieben, ich bin neu in diesem Bereich. Noch einmal vielen Dank – Nova

+0

Hallo Andersson - Ist es möglich, mehrere td hinzuzufügen, um die Schaltfläche Löschen durch seine eindeutige Kennungen wie Auto Missed Session 2 und 06/03/2017 10:00:00 zu verweisen Was würde Person, Datum und Uhrzeit darstellen? – Nova

+0

Wenn diese "td" -Elemente Geschwister sind, dann könnten Sie versuchen "" // td [text() = 'Automatisch verpasste Sitzung 2']/following-sibling :: td [text() = "06.03.2017" ]/following-gleichgeordnete :: td [text() = "10:00:00"]/folgende :: a [text() = 'Löschen'] "' – Andersson

Verwandte Themen