首页 > 解决方案 > Python,使用 Selenium 如何在页面中添加 JS 函数?

问题描述

我正在尝试将一些 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')};")

将解决问题,但也许还有另一种方法可以做到这一点?

谢谢。

标签: pythonselenium

解决方案


也许这回答了这个问题:

driver.execute_script("window.momo = () => console.log('lalala');")

我只是用更现代的语法重写它。


推荐阅读