gpt4 book ai didi

javascript - 使用 Mechanize 获取 JavaScript 变量

转载 作者:行者123 更新时间:2023-11-28 07:25:41 25 4
gpt4 key购买 nike

我想从https://admin.booking.com/hotel/hoteladmin获取一个JavaScript变量在 head > script > var token 中。

enter image description here

我不知道浏览器如何设置这个变量,因为当我从 Mechanize 获取此页面时,我得到:

var token = '' || 'empty-token',

这是我用来获取此页面的代码:

login_url = "https://admin.booking.com/hotel/hoteladmin"
agent = Mechanize.new
agent.verify_mode= OpenSSL::SSL::VERIFY_NONE
page = agent.get(login_url)

最佳答案

如果您想通过 mechanize/watir 中的 JavaScript 访问此 token ,您还需要能够使用浏览器开发人员工具访问它。

不幸的是,变量本身被包含在一个范围内,这使得不可能像这样访问它。您可以在这篇优秀的文章中阅读有关 JS 中许多不同类型作用域的更多信息:What is the scope of variables in JavaScript?

现在回答你的问题。当然,可以提取 token 本身,但您必须以肮脏的方式进行操作。您必须等到页面上执行所有 JS,然后获取文档主体并以某种方式提取它 - 一种方法可能是 RegExp。

编辑: Mechanize 按照 a few other answers here on SO 进行操作不执行 JS,这就是为什么你需要一个驱动浏览器的 gem(watir 是一个很好的例子),但这又让我们回到了上面描述的问题。

关于javascript - 使用 Mechanize 获取 JavaScript 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29682494/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com