t.me/atinfo_chat Telegram группа по автоматизации тестирования

Как получить сгенерированный id элемента

При определенных действиях у нас создается “Сущность” у который генерируется уникальный id (UUID). Как с помощью Java кода мы можем получить ее id, мы знаем лишь координаты где расположена эта “сущность”.

Буду благодарен если приведете пример сразу кода.

Задача сформулирована не полностью, без самого html не помочь. Приложите его на http://gist.github.com и дальше уже можно о чем нибудь говорить.

По координатам вы не найдете ваш элемент, а даже если и найдете, то в любом случае это будет очень нестабильное решение.

Надо использовать относительные элементы по отношению к искомому элементу и потом составлять более сложный и комплексный css или xpath

На сколько я знаю, координаты в вебдрайвере могут зависеть от разрешения экрана. Но получить элемент по координатам всё же задача решаемая. Можно воспользоваться таким джаваскриптом:

bodyRect = document.body.getBoundingClientRect();
elemRect = element.getBoundingClientRect();
offset   = elemRect.top - bodyRect.top;

Либо:

function getOffset( el ) {
var _x = 0;
var _y = 0;
while( el && !isNaN( el.offsetLeft ) && !isNaN( el.offsetTop ) ) {
    _x += el.offsetLeft - el.scrollLeft;
    _y += el.offsetTop - el.scrollTop;
    el = el.offsetParent;
}
return { top: _y, left: _x };
}

Переберите все элементы страницы и сравните их офсеты с помощью какого-то из этих скриптов с входными данными и тот элемент офсет которого равняется офсету (координатам) вашых элементов с некоторой погрешностью будет вашим.