【发布时间】:2018-12-06 09:49:39
【问题描述】:
我正在尝试向页面添加一些 JS 函数,但不知道如何在不将函数分配给窗口对象的情况下做到这一点。
以下将起作用:
driver.execute_script("console.log('lalala');")
driver.execute_script("function momo(){console.log('lalala')};momo();")
但是尝试做:
driver.execute_script("function momo(){console.log('lalala')};")
driver.execute_script("momo();")
会失败:
WebDriverException: Message: unknown error: momo is not defined
我知道将函数分配给窗口:
driver.execute_script("window.momo = function(){console.log('lalala')};")
会解决问题,但也许还有其他方法可以解决?
谢谢。
【问题讨论】:
-
将函数添加到窗口是一个优雅的解决方案。您是否遇到了具体问题?