如何使用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
相关产品推荐
相关产品推荐

