添加带有Selenium的JavaScript事件侦听器会自动触发它

添加带有Selenium的JavaScript事件侦听器会自动触发它,javascript,python,selenium,event-listener,Javascript,Python,Selenium,Event Listener,因为(根据我的研究)没有办法用selenium捕捉用户输入,所以我尝试使用JavaScript事件监听器 但是,当我通过执行JavaScript代码添加事件侦听器时,该函数会自动触发,而无需我(作为用户)做任何事情。此外,无法再次触发该函数 有人知道问题是什么吗?我如何解决? 仅供参考:我的代码是用Python 3.8编写的 提前谢谢大家,, 拉斐尔 一旦执行脚本,控制台就会显示“success”,此后事件将不再触发。我尝试了不同的事件(单击、鼠标悬停等)、不同的功能和具有不同元素的不同网站。您

因为(根据我的研究)没有办法用selenium捕捉用户输入,所以我尝试使用JavaScript事件监听器

但是,当我通过执行JavaScript代码添加事件侦听器时,该函数会自动触发,而无需我(作为用户)做任何事情。此外,无法再次触发该函数

有人知道问题是什么吗?我如何解决? 仅供参考:我的代码是用Python 3.8编写的

提前谢谢大家,, 拉斐尔


一旦执行脚本,控制台就会显示“success”,此后事件将不再触发。我尝试了不同的事件(单击、鼠标悬停等)、不同的功能和具有不同元素的不同网站。

您没有传递函数,实际上只是直接调用它

console.log(“成功”)
此^调用函数。您最终传递的实际参数是
console.log
的结果,而不是函数本身(如果我记得的话,它只是一个
未定义的
)。如果你想传递一个函数,你应该这样做

()=>console.log(“成功”)
对于支持ES6之前版本的浏览器,您可以使用:

function(){console.log(“Success”)}

您没有传递函数–实际上您只是直接调用它

console.log(“成功”)
此^调用函数。您最终传递的实际参数是
console.log
的结果,而不是函数本身(如果我记得的话,它只是一个
未定义的
)。如果你想传递一个函数,你应该这样做

()=>console.log(“成功”)
对于支持ES6之前版本的浏览器,您可以使用:

function(){console.log(“Success”)}

该代码完全是一个无限循环,因为它只触发一次,然后就不再触发了。 建议按以下方式编辑代码:

addEventListener("mouseover",{console.log("Success")})

代码完全是一个无限循环,因为它只触发一次,然后就不再触发了。 建议按以下方式编辑代码:

addEventListener("mouseover",{console.log("Success")})
请参阅希望将函数用作第二个参数的文档,而不是直接执行console.log请参阅希望将函数用作第二个参数的文档,而不是直接执行console.log