如何使用selenium在python中执行Javascript函数

Jos*_*der 11 javascript python selenium selenium-webdriver

我在javascript中有一个名为'checkdata(code)'的函数,如你所见,它运行一个名为'code'的参数来运行并返回一个15-char字符串.

所以,我发现(并测试过)如何在javascript中调用无参数函数,但我的问题是,当我调用checkdata(代码)时,我总是得到'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
Run Code Online (Sandbox Code Playgroud)

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

但是,正如我之前所说,我只是不打印.

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

epa*_*llo 12

构建字符串

a = wd.execute_script("return checkdata('" + code + "');")
Run Code Online (Sandbox Code Playgroud)


小智 7

而不是构建一个字符串(这意味着你必须正确地逃避你的报价),试试这个:

a = wd.execute_script("return checkdata(arguments[0])", code)
Run Code Online (Sandbox Code Playgroud)

  • 需要一个例子 (2认同)