gpt4 book ai didi

javascript - 从 chrome webdriver (python) 访问 getEventListeners

转载 作者:行者123 更新时间:2023-12-03 11:16:34 24 4
gpt4 key购买 nike

目标:

从 selenium webdriver 获取附加到节点的所有事件

我正在使用 selenium-python,我想执行一个 javascript 脚本(通过 driver.execute_script('my js script')

此脚本使用 getEventListeners仅在 上可用 Chrome .
我使用成功

driver = webdriver.Chrome('path/to/chromedriver')

启动 chrome 浏览器。使用 getEventListeners(myNode) 执行我的脚本我得到类似的东西:

File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/webdriver.py", line 403, in execute_script {'script': script, 'args':converted_args})['value'] File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/webdriver.py", line 175, in execute self.error_handler.check_response(response) File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/errorhandler.py", line 166, in check_response raise exception_class(message, screen, stacktrace) selenium.common.exceptions.WebDriverException: Message: unknown error: getEventListeners is not defined


getEventListeners可通过命令行 API 获得,但我无法通过 selenium 使其工作。有解决方案吗?有没有其他方法可以将所有事件绑定(bind)到一个元素? (尤其是点击事件)

干杯

最佳答案

可悲的是,答案是:访问 getEventListeners通过ChromeDriver不可能。这是 -- 正如评论中提到的 -- by design :

Warning: These functions only work when you call them from the Chrome DevTools Console. They won't work if you try to call them in your scripts.



根据 issue report设置为 WontFix .

但是:

查看 this answer用于在不使用 getEventListeners 的情况下查找附加到节点的所有事件.

关于javascript - 从 chrome webdriver (python) 访问 getEventListeners,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34204449/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com