Нахождение последнего элемента в WebElement

Необходимо получить все элементы на веб-странице с классом someElement (является дивом), и из списка текущих, выбрать самый последний и получить его содержимое(текст). Как сделать это средствами WebElement - не пойму, следуюзей записью получаю содержимое всех элементов с классом someElement.

List<WebElement> lastElement = element.findElements(By.className("someElement"));

for(WebElement ls : lastElement) {

            ls.getText();

 }

 

Как правильно реализовать получение последнего значения из ls?

 

 

 

 

если я правильно понял, попробуйте так по аналогии, скинькод страницы  лучше

driver.findElement(By.cssSelector("table.specialOffers > tbody > tr > td:last-child > span")).getText()

Xpath

String youName = driver.findElement(By.xpath("//div[@class='someElement'][last()]")).getText()

С lust() пробовал, но выделяет почему-то все элементы http://d.pr/i/glY1

 

Всё достаточно просто:

lastElement.get(lastElement.size - 1)

 

Самый неудобный варинт:

//div[@class='file approve customer'][last()]/div/a

Дальше можно делать проще

//div[@class=‘someElement’][position()=last()]

В теории да - на практике никто не гарантирует, что браузер будет возвращать элементы в том порядке, в котором они встречаются в DOM.

З lust() краще не пробувати ;)

А якщо серйозно, то XPath має бути (//*[@class="SOME_CLASS"])[last()].
Тобто (//*[@class="SOME_CLASS"]) - створює групу елементів з певним класом, до якої потім застосовується селектор [last()]

Дякую ;-)

Ну тут лишь можно обратиться к исходникам вебдрайвера чтоб понять, как он будет возвращать элементы. Я тут глянул - в явном виде не понятно. Но что-то мне подсказывает(и это что-то - не только свой опыт) , что будет он возращать именно в том же порядке как и в DOM.

Селениум тут не при чем - он вернет их вам и том же порядке, в котором получил от браузера, который в свою очередь получил их либо от вызова нативных методов, либо от вызовов заинжектенных селениумом либ. Которые, в свою очередь, теоретически (следуя спецификациям) должны вернуть в порядке следования в DOM, а на практике естественно ни кому ни чего не должны.