@arsenaljek

IMPORTXML пропускает строки при парсинге. Как решить?

Пытаюсь вывести все артикулы, но выводит только через строку
=IMPORTXML("https://www.triatron.ru/catalog/index.php?rodgr=27576&gr=9832,214848&filter%5B0%5D%5B%5D=TITAN&sort=0&dir=0&p=1&all=1";"//div[@class=('t-row-div')]//div[1][@class='t-cell-div']")

потому что второй div называется t-row-div odd_row.
Как в xpath написать условие, чтобы он понимал, что нужно смотреть div и t-row-div и t-row-div odd_row
  • Вопрос задан
  • 136 просмотров
Решения вопроса 1
oshliaer
@oshliaer Куратор тега Google Sheets
Google Products Expert
Пример в Таблице https://docs.google.com/spreadsheets/d/1gpb-ZRLUW5...

Задайте не точное совпадение класса, а содержание его в атрибуте

div[contains (@class, 't-row-div')]

=IMPORTXML(
  "https://www.triatron.ru/catalog/index.php?rodgr=27576&gr=9832,214848&filter%5B0%5D%5B%5D=TITAN&sort=0&dir=0&p=1&all=1";
  "//div[contains (@class, 't-row-div')]//div[1][@class='t-cell-div']"
)


Возможно, ваша выборка неожиданная, т.к. есть пробелы между ячейками. Это происходит из-за того, что вы выбираете массив, а не ветвь в дереве. Сравните второй //div и /div:
"//div[contains (@class, 't-row-div')]//div[1][@class='t-cell-div']"

и
"//div[contains(@class, 't-row-div')]/div[1][@class='t-cell-div']"


  • // - выбрать все множества по дереву вниз
  • / - выбрать следующую ветвь


62307381dfa08035413307.png
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы