首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >获取Selenium中Javascript代码的返回值

获取Selenium中Javascript代码的返回值
EN

Stack Overflow用户
提问于 2011-04-08 01:48:26
回答 2查看 94.5K关注 0票数 110

我正在使用Selenium2对我的网站进行一些自动化测试,我希望能够获得一些Javascript代码的返回值。如果我在我的网页中有一个Python函数,我想调用它并将返回值放入我的foobar()代码中,我可以调用什么来做到这一点呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-04-08 01:48:41

要返回值,只需在传递给execute_script()方法的字符串中使用return JavaScript关键字,例如

代码语言:javascript
复制
>>> from selenium import webdriver
>>> wd = webdriver.Firefox()
>>> wd.get("http://localhost/foo/bar")
>>> wd.execute_script("return 5")
5
>>> wd.execute_script("return true")
True
>>> wd.execute_script("return {foo: 'bar'}")
{u'foo': u'bar'}
>>> wd.execute_script("return foobar()")
u'eli'
票数 181
EN

Stack Overflow用户

发布于 2017-12-28 20:46:27

即使您没有像下面的示例代码那样将您的代码片段编写为函数,也可以返回值,只需在末尾添加return var;,其中var是您想要返回的变量。

代码语言:javascript
复制
result = driver.execute_script('''
cells = document.querySelectorAll('a');
URLs = [];
[].forEach.call(cells, function (el) {
    URLs.push(el.href)
});
return URLs
''')

在本例中,result将包含URLs中的数组。

票数 14
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5585343

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档