Поиск элементов по xPath. Мини гайд.

Обновлено 29 мар. 2020 г.

Xpath - это строка, точно идентифицирующая элемент на странице. Она используется для поиска определённых HTML блоков.

Каждый элемент может быть найден по xPath.

Инструменты для поиска по xPath

Каждый современный браузер, будь то IE, Firefox, Chrome, Opera или Safari позволяет искать элементы по xPath. Код, расположенный ниже, прокрутит страницу до элемента с xPath “HTML/BODY/DIV[2]/A[5]” и подсветит его красным цветом. Выполните его в консоли браузера. Если элемент не найдется, то код попытается найти его родителя.

var x = "HTML/BODY/DIV[2]/A[5]";
for(var i = 0;x.length > 4;++i) {
    var e = $x(x);
    x = x.replace(/\/[^\/]+$/g, "");
    if(e.length === 0) continue;
    e[0].scrollIntoView({block: "center"});
    e[0].style.boxShadow = "0 0 10px 10px red";
    break;
}
if(i) alert("Совпадение не точное. Найден "+i+" родитель искомого элемента.");

Нажатие кнопки F12 открывает консоль. В интернете вы можете найти подробную инструкцию для вашего браузера, как ею пользоваться.

Мы рекомендуем использовать специальные плагины. Эти специализированные расширения предоставляют простой интерфейс для поиска и подсветки найденных элементов. Это очень удобно и ускоряет работу специалиста.

Интерфейс плагина для поиска по xPath.

Рекомендуемые плагины: - Chrome https://chrome.google.com/webstore/detail/xpath-helper/hgimnogjllphhhkhlmebbmlgjoejdpjl - Firefox https://addons.mozilla.org/en-US/firefox/addon/try-xpath/

Иногда xPath может терять актуальность по следующим причинам: - Вы ищете динамически генерируемый контент. В этом случае xPath строка может потерять актуальность. - Страница для залогиненного пользователя и гостевого может различаться. - Контент сайта может обновиться.

Если найти элемент не получилось

Каждый элемент вписан внутрь другого элемента. Фактически страницы состоят из прямоугольников разных размеров вписанных друг в друга.

Строка xPath разделена на секции и имеет каскадную структуру. Если полная строка указывает на конкретный элемент, то её часть указывает на один из родительских блоков. Если вы не можете найти элемент, то попробуйте удалить несколько секций с конца строки. Так вы найдёте один из родительских блоков. Это поможет вам понять причины, почему поиск не срабатывает.

Блок с рейтингом у первой строки результата, может отображаться, а может и нет. В таком случае имеет смысл найти родительский блок, удалив несколько секций с конца строки.

Как вы видите xPath довольно простая вещь. Инструменты для работы с ним есть буквально на каждом персональном компьютере. Поэтому мы используем его в своих инструментах.

Мы используем cookie. Продолжая пользоваться сайтом, вы соглашаетесь на обработку персональных данных в соответствии с политикой конфиденциальности. Ладушки