javascript - Nokogiri - 查找 javascript 数组内的值

标签 javascript ruby xml nokogiri

我正在尝试使用 nokogiri 废弃某些内容,我想获取 JavaScript 数组内的值,例如此代码中“b”的值。

<script>
     var foo = [bar, [a, b, c , d], value, some value, . . ]
</script>

我通过使用doc.search("script")[18].content获取了脚本 block ,如何在这里获取'b'的值?

最佳答案

所以首先安装 gem rkelly-remix,rkelly 似乎被放弃了,remix es6(甜蜜)。

需要“rkelly”并实例化解析器parser = RKelly::Parser.new

然后像这样抓取脚本:

doc = '<script> var foo = [bar, [a, b, c , d], 1, 2, 3, 4] </script>'
d = Nokogiri::HTML doc
js = d.search('script').text

接下来用 Rkelly-remix 解析它。

ast = parser.parse(js)

然后您可以迭代节点并使用它们的值。你的例子似乎有点不完整,所以我不能提供更多的东西。如果您想进一步询问 b ,您将需要更多设置该值的 js。如果需要,您可以从这里使用 execjs 或 ruby​​ racer 来评估 js。

希望这有帮助!

关于javascript - Nokogiri - 查找 javascript 数组内的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30780204/

相关文章:

javascript - 为什么表单提交发生在文件上传完成之前?

javascript - 等宽字体字符串宽度

android - 将聊天气泡对准RecyclerView的左侧

android - XSLT:源 XML 中属性名称中的冒号

xml - POST XML 数据返回 HTTP/1.0 501 Not Implemented 错误

javascript - 表单数据和请求负载有什么区别?

javascript - Jquery ajax 调用不适用于 android

Ruby:使用 aws-sdk 列出带有标记和最大键的 s3 对象

ruby - 运行测试时静音 Chrome 驱动程序控制台输出

ruby - 运行 rackup private_pub.ru -s thin -E production 命令时无法加载此类文件 -- thin (LoadError)