如何使用Selenium在Python中执行Javascript函数

14
我有一个名为'checkdata(code)'的javascript函数,它接受一个名为'code'的参数并返回一个15个字符的字符串。我发现(并测试)了如何调用javascript中无参数的函数,但我的问题是当我调用checkdata(code)时,我总是得到一个'none'的返回值。目前我的做法如下:
wd = webdriver.Firefox()
wd.get('My Webpage')
a = wd.execute_script("return checkdata()", code)  //Code is a local variable
                                                   //from my python script
print a

我正在制作这个,因为我在非官方的selenium文档和这里读到了这个: 链接

但是,正如我之前所说的,我只是不断得到无输出。

我该如何调用我的函数并传递那个参数?


请参考此类似问题 - franklin
2个回答

14

构建字符串

a = wd.execute_script("return checkdata('" + code + "');")

啊,感谢你的帮助,我终于搞定了!这是我的代码:a = local.execute_script(' return checkdata(\"'+code+'\")') print a再次感谢你的帮助! - Jose_Sunstrider

10

不要构建字符串(这意味着您必须正确转义引号),尝试使用以下方法:

a = wd.execute_script("return checkdata(arguments[0])", code)

4
需要一个例子。 - Lawrence DeSouza
这是一个例子! - quelotic

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接