我有以下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代码对我有用。
再次感谢您,请原谅我先前的不完全正确的问题。
答案 0 :(得分:0)
我假设您不介意JavaScript和jQuery,因为您未指定:
<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">
Categories time a time b
Category 1 xxx.xx xxx.xx
Category 2 xxx.xx xxx.xx
. . .
. . .
. . .
Category n xxx.xx xxx.xx
答案 1 :(得分:0)
我在Stackoverflow上的另一篇文章的帮助下得到了答案。
Reading a javascript variable's value
我更新的问题的正确代码是
substring-before(substring-after(//div[@class='onCanvas content-with-footer']//script[2][contains(.,'gtin')]/text(), "gtin: "), ",")
谢谢您的帮助。