从 html 中的脚本获取 javascript 对象
Posted
技术标签:
【中文标题】从 html 中的脚本获取 javascript 对象【英文标题】:get javascript object from script in html 【发布时间】:2019-03-20 06:40:23 【问题描述】:这就是我所拥有的,html:
<script type="text/javascript">var imp_accountInfo =
"id": "6yb32e53e03g4",
"nickname": "jack"
;</script>
我想得到这部分:
"id": "6yb32e53e03g4",
"nickname": "jack"
我尝试使用cheerio,但我迷失了很多东西,我什至不知道从哪里开始。
【问题讨论】:
【参考方案1】:这个简单的正则表达式可以为你做到(尽管你没有用正则表达式标记你的问题):
/[^]+/g
它只是从左大括号开始,然后匹配不是右大括号的所有内容,并以最后一个右大括号结束。它得到你想要的。
Edit
根据评论:
/imp_accountInfo\s=\s([^]+)/
这将找到靠近“imp_accountInfo
”的第一个花括号。
如何使用:
在 JavaScript 中使用 String.match 并使用结果数组的 索引'1'
。
编辑2:
我已经扩展了正则表达式,所以现在您可以提取大括号之间的 quoted
值:
/imp_accountInfo\s=\s[^"]*"([^"]*)"[^"]*"([^"]*)"[^"]*"([^"]*)"[^"]*"([^"]*)"[^]*/
仍然使用String.match,你会得到数组中的内容。
【讨论】:
有没有办法通过这部分“imp_accountInfo”找到它,因为我的html中有几个花括号以上是关于从 html 中的脚本获取 javascript 对象的主要内容,如果未能解决你的问题,请参考以下文章
使用 Selenium / Protractor 进行测试时从网站获取注入的 javascript