假设我有一个JS函数,如下所示:
function someFunction(callback) {
callback()
}
我想把它从 selenium 中命名。对于普通参数(例如,字符串、数组、整数、Map、HTML元素),我可以执行以下操作:
driver.executeScript("someFunction(arguments[0])", "() => console.log('hi')")
Selify会自动转换/转义参数。但是如果一个参数是一个函数,那么它将作为一个字符串传递。上面的调用变为:
someFunction("() => console.log('hi')")
但它应该是:
someFunction(() => console.log('hi'))
有没有办法告诉Selify传递的参数是一个函数?
1条答案
按热度按时间a7qyws3x1#
使用EVAL:
注:我不知道如何在Java中转义引号,这是一种python风格