You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Cucumber/Ruby/PageObject获取浏览器JavaScript全局变量值?

获取JavaScript全局变量的正确方法

嘿,我看到你尝试用browser.execute_script("document.global_var")来获取页面里的全局变量,但这里有个小问题哦😉

在浏览器环境中,全局变量默认是挂载在window对象上的,而不是document对象。所以你之前的写法会返回undefined,根本拿不到想要的global_var值。

给你两个靠谱的写法,都能顺利拿到值:

  • 直接返回全局变量名(因为在全局作用域下可以直接访问)
    browser.execute_script("return global_var;")
    
  • 明确通过window对象访问(这种写法更清晰,尤其当变量名可能和局部变量冲突时)
    browser.execute_script("return window.global_var;")
    

拿你提供的HTML例子测试的话,这两行代码都会返回字符串 "John Smith",完美符合你的需求~

内容的提问来源于stack exchange,提问作者Vidak

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 06:25:51