【发布时间】:2020-01-25 14:18:45
【问题描述】:
我正在尝试使用 xpath 来访问下面 html 中的文本。
我写了这个语句 response.xpath(//script/text()) 来提取标签中的文本。出于某种原因,我没有看到预期的数据文本。谁能看到我做错了什么?
Method: response.xpath(//script/text())
<script>
digitalData={
page:{
pageInfo:{
destinationURL:window.location.href,
error:'',
language:'en' ,
country:'US' ,
pageName:'tangelo2' ,
articlepubdate:'' ,
articleenddate:'' ,
pageTitle: 'Health Services Innovation Company',
pageOwner:'' ,
pageTemplate:'' ,
pageCampaign:'',
tags:'',
pageLastPublishDate:'2020-01-08T12:15:04.032-06:00',
pageLastPublishedBy :'admin',
pageLastModifiedDate:'2020-01-08T10:24:36.466-06:00',
pageLastModifiedBy :'katrina'
},
recEngine:{
title:'Home',
image:'',
description:''
},
category:{
siteName: window.location.hostname.replace("www.", "") ,
version:'3.0',
contentType: '',
contentTopic: '',
contentSegment: '',
contentInitiative: '',
contentProduct: '',
contentProductLine: '',
primaryCategory:'tangelo2'
}
},
event:{ }
};
</script>
【问题讨论】:
-
你的预期输出是什么?
-
显示有问题的最小工作代码与您的问题。当前代码应该为您提供脚本中的所有文本 - 如果您只是没有收到任何错误消息,因为您在
xpath("//script/text()")中忘记了" " -
我正在尝试提取“digitalData”字典。一旦我从脚本标签中提取字典,我就可以解析它。
-
如果你有 XHTML 还有命名空间问题...
-
由于某种原因,我没有看到预期的数据文本。 如果没有预期的输出,或者 minimal reproducible example... 看起来很正常,我们将无能为力不过对我来说。