Вы на правильном пути, но есть проблема.Как правило, то, что вы пытаетесь сделать, выполнимо.Часть, которую вам не хватает, находится во втором XPath.Простой пример HTML TABLE
.
<table>
<tr>
<td></td>
<td></td>
</tr>
</table>
Чтобы найти TABLE
с помощью XPath, вы должны использовать //table
.Чтобы найти ячейку в таблице, используя второй локатор, вам нужно добавить .
в начало XPath, например, ./tr/td
.Это говорит XPath начать с относительной позиции.Для получения дополнительной информации см. этот вопрос .Код будет что-то вроде
WebElement table = driver.findElement(By.xpath("//table"));
WebElement cell = table.findElement(By.xpath("./tr/td"));
^ I'm starting with the table variable here, like you did
^ but I added the . to indicate relative
Сказав все это, он не будет работать здесь.Нет единого HTML-элемента, который охватывал бы весь контент «Delhi Capitals Innings».На самом деле внутри родительского элемента DIV
находятся 4 DIV, которые содержат весь контент.
<div id="innings_2" class="ng-scope">
<div class="cb-col cb-col-100 cb-ltst-wgt-hdr"></div>
<div class="cb-col cb-col-100 cb-scrd-sub-hdr cb-bg-gray text-bold">Fall of Wickets</div>
<div class="cb-col cb-col-100 cb-col-rt cb-font-13">...</div>
<div class="cb-col cb-col-100 cb-ltst-wgt-hdr"></div>
</div>
Вам придется очищать каждый из них по отдельности.