Selenium Web 驱动程序可以访问 javascript 全局变量吗?

Posted

技术标签:

【中文标题】Selenium Web 驱动程序可以访问 javascript 全局变量吗?【英文标题】:Can Selenium web driver have access to javascript global variables? 【发布时间】:2012-05-14 08:52:51 【问题描述】:

嗨:我正在使用 javascript 为 django 编写测试,我想知道 Selenium webdriver 是否可以访问 javascript 全局变量。 mypage 有一个脚本,其中有一个我想访问的全局变量。可能吗?谢谢!

from django.test import LiveServerTestCase
from selenium.webdriver.firefox.webdriver import WebDriver

class TestEditorSelenium(LiveServerTestCase):
    def setUp(self):
        self.driver = WebDriver()

    def test_mytest(self):
        self.driver.get('%s%s' % (self.live_server_url, '/mypage/'))

【问题讨论】:

【参考方案1】:

是的,您应该可以使用类似于以下的代码:

browser.execute_script("return globalVar;")

【讨论】:

print self.driver.execute_script("return globalVar;") 工作...谢谢! 有趣.. 我可以得到一个期望值execute_script("return window.name;")execute_script("return window.location;") 但不是execute_script("return window;") 最后一个为我返回一个空数组....

以上是关于Selenium Web 驱动程序可以访问 javascript 全局变量吗?的主要内容,如果未能解决你的问题,请参考以下文章

python之selenium模块

Selenium简介

如何使用 Selenium Web 驱动程序检测 Windows 身份验证提示?

爬虫入门Selenium用法简介

Selenium Web 驱动程序 Firefox 打开空白页

为什么IE通过Selenium Web驱动程序永远打开网站?