Получение значения изнутри div с использованием XPATH - PullRequest
0 голосов
/ 02 марта 2019

У меня есть следующий div

<div data-dmid="product-detail-page" itemscope="" itemtype="http://schema.org/Product" itemid="3600542198158">

, из которого я хотел бы извлечь itemid -> 3600542198158

Я использовал следующий Xpath, который, однако, не возвращает никакого значения:

//div[@data-dmid='product-detail-page']/@itemid

Не мог бы кто-нибудь посоветовать, как правильно построить Xpath для него


#

К сожалению, я должен обновить свой вопрос.

Я искал код с помощью инструмента проверки Firefox.Глядя на HTML-исходный код, который отличается от вывода с помощью инструмента проверки, у меня есть следующая интересная часть:

<div class="onCanvas content-with-footer">

    <div id="container-main" class="content-main">
        <div data-dmid="uvp-banner-container" style="height: 54px; width: 100%"></div>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    var props = {};
                    ReactInit.initReactComponent("contentViewService", "UvpBannerContainer", props, document.querySelector("[data-dmid='uvp-banner-container']"));
                });
           </script>
        <div id="react-product-detail-page"></div>
<script>
var props = {
    gtin: 3600542198158,
    locale: dmSettings.localeLanguage
};
ReactInit.initReactComponent("product-detail-page", "ProductDetailPage", props, document.getElementById("react-product-detail-page"));

$(document).ready(function () {
            var props = {
                locale: dmSettings.localeLanguage
            };

        ReactInit.initReactComponent("product-detail-page", "PriceLegend", props, document.getElementById("react-price-legend"));
    });
</script>

Мне нужно получить gtin (обычное число) второго скрипта.

Я хотел бы использовать xpath в инструменте очистки, почему для меня будет работать только простой код xpath.

Спасибоеще раз прошу прощения за мой предыдущий не полностью правильный вопрос.

Ответы [ 2 ]

0 голосов
/ 03 марта 2019

Я получил ответ с помощью другого поста в Stackoverflow.

Чтение значения переменной javascript

Правильный код для моего обновленного вопроса:

substring-before(substring-after(//div[@class='onCanvas content-with-footer']//script[2][contains(.,'gtin')]/text(), "gtin: "), ",")

Спасибо за любую помощь.

0 голосов
/ 02 марта 2019

Я предполагаю, что вы не против JavaScript и jQuery, поскольку вы не указали:

var itemId = $("div[data-dmid]").attr("itemid");
console.log(itemId);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div data-dmid="product-detail-page" itemscope="" itemtype="http://schema.org/Product" itemid="3600542198158">
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...