Ich habe folgende HTML-Struktur: Ich versuche, eine robuste Methode zum Extrahieren des zweiten Farbverdauungselements zu erstellen, da es viele dieser Tags im DOM geben wird.
<table>
<tbody>
<tr bgcolor="#AAAAAA">
<tr>
<tr>
<tr>
<tr>
<td>Color Digest </td>
<td>AgArAQICGQMVBBwTIRQHIwg0GUMURAZTBWQJcwV0AoEDAQ </td>
</tr>
<tr>
<td>Color Digest </td>
<td>2,43,2,25,21,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, </td>
</tr>
</tbody>
</table>
Ich versuche, das zweite td-Element "Color Digest" zu extrahieren, das den dekodierten Wert hat.
Ich habe den folgenden xpath geschrieben, aber anstatt den zweiten zu bekommen, bekomme ich nicht das zweite td-Element.
//td[text() = ' Color Digest ']/following-sibling::td[2]
Und wenn ich es in td [2] in td [1] ändere, bekomme ich beide Elemente.
Sie können eine Liste von Elementen mit xPath identifizieren:
Dies gibt Ihnen eine Liste von zwei Elementen, als Sie das 2. Element als Ihr beabsichtigtes verwenden können. Zum Beispiel:
List<WebElement> elements = driver.findElements(By.xpath("//td[text() = ' Color Digest ']/following-sibling::td[1]"))
Jetzt können Sie das 2. Element als beabsichtigtes Element verwenden, nämlich elements.get (1).
quelle
/html/body/table/tbody/tr[9]/td[1]
In Chrome (möglicherweise auch in Safari) können Sie ein Element untersuchen, dann mit der rechten Maustaste auf das Tag klicken, für das Sie den xpath erhalten möchten, und dann den xpath kopieren, um dieses Element auszuwählen.
quelle