python - 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')};")
将解决问题,但也许还有另一种方法可以做到这一点?
谢谢。
解决方案
也许这回答了这个问题:
driver.execute_script("window.momo = () => console.log('lalala');")
我只是用更现代的语法重写它。
推荐阅读
- php - 如何将 JavaScript 值传递给 PHP 页面
- assembly - 我在哪里可以找到信息来声明多引导标头的常量
- java - 我应该从用户那里输入一个数字来检查输入是否是素数。(我最近才开始,所以请不要判断)。
- ios - 快速将变量添加到 URL
- xamarin.forms - App Store 中未更新合规信息和发行说明
- amazon-s3 - 是否可以更改 AWS athena 输出文件的分隔符
- javascript - 带有对象的打字稿中的数组减少
- reactjs - 如何确保父组件将相同的 prop 函数传递给子组件以避免重新渲染
- python - 尝试运行程序并收到此错误
- angular - 完全卸载 Angular 和 NodeJs 并重新安装