Использование относительного xpath для очистки пользовательского атрибута div

У меня есть несколько сотен URL-адресов, где я пытаюсь очистить путь изображения для изображения на странице. Каждая страница имеет одинаковый формат, но класс div уникален для каждой страницы.

Я хочу иметь возможность использовать импорт xml в листах Google, чтобы очистить только содержимое элемента пути данных.

Я пытался и не смог использовать xpath для извлечения URL-адресов.

<div class="uniqueid active" data-path="/~/media/Images/image.jpg" data-alt="Anything"></div>

E.g. //div[@class='*']/@data-path"

Пример сайта: https://www.cannondale.com/en/Australia/Bike/ProductDetail?Id=77d3b8fe-41f7-42b6-bf69-b5cf0ae55548&parentid=undefined


person Dino    schedule 11.02.2019    source источник


Ответы (1)


Если класс div имеет шаблон "uniqueid active", вы можете попробовать следующий XPath:

//div[contains(@class, "active")]/@data-path

В противном случае, если класс div может быть любым, используйте этот запрос:

//div[@class]/@data-path

ОБНОВИТЬ:

Я попытался получить значения атрибутов data-path с помощью IMPORTXML, но безуспешно. Пытался сделать это с помощью Python (requests и lxml), и это работает. Так что, вероятно, проблема в Google Sheets - какие-то ограничения или ошибки, idk.

person qwermike    schedule 11.02.2019
comment
Спасибо за вашу помощь, Майк, ни одна из них не работает, мне интересно, не полностью ли поддерживаются листы Google xpath - person Dino; 12.02.2019
comment
Если на странице есть динамический контент, вы не сможете извлечь этот контент с помощью XPath. Вы можете включить хотя бы один URL в свой вопрос, тогда я точно увижу. - person qwermike; 12.02.2019
comment
Спасибо, Майк, это основной путь к изображению, который я пытаюсь получить здесь: cannondale.com/en/Australia/Bike/ - person Dino; 13.02.2019
comment
Странно, я вижу <div data-path="..." ...> в ответе, но не могу получить его с помощью IMPORTXML в Google Таблицах. - person qwermike; 13.02.2019