18910140161

JavaScript-.click()方法无法识别-堆栈溢出

顺晟科技

2022-10-19 13:13:26

72

现在,我正在为我最喜欢的浏览器游戏Big Barn World创建另一个版本的机器人。我试着用一种元素来浇灌庄稼,但这是行不通的。我尝试向正在使用的节点添加一个EventListener。这很好,但网站本身对此没有反应。在以前的版本中,我使用http请求或鼠标自动化,两者都很慢而且不一致。我在寻找一种不同的方法来“点击”网页上的按钮。如果你能告诉我什么可能停止工作,我会很高兴,这样我就可以做进一步的研究。我将C#/JS与eo.webbrowser.

一起使用

这是我正在运行的JS代码。

.click()

我在chrome dev控制台中尝试了这一点,并手动单击了该按钮。如果我手动点击,一切都很好。如前所述,EventListener可以识别我的呼叫,但网站本身什么也不会做。 开发控制台返回“undefined”。

我试图单击的元素。

.click()

edit:据我所知,问题可能是click()方法是isTrusted=false;


顺晟科技:

您似乎混淆了两个不同的问题。第一个是关于方法被识别

当您进行浏览器控制台交互时(

.click()

已识别click方法,它只是没有生成返回值。您可以检查调用无法识别的内容的行为

.click()

现在的第二个问题是关于方法无所事事。 web页面中的事件处理可以通过许多不同的方式进行。click()做什么?可能它发送了MouseClick事件,但有问题的应用程序可能正在监听MouseDown事件(按钮被按下后立即触发,而不等待释放)。您可以搜索浏览器的Developer Tools文档,了解如何检查事件侦听器中的元素,并找出应该触发的适当元素。模拟mousedown事件比仅仅调用要复杂得多,但这是可行的。您可以查看mdn documentation for mouseevent并搜索如何创建合成单击鼠标事件的示例。

  • TAG:
相关文章
我们已经准备好了,你呢?
2024我们与您携手共赢,为您的企业形象保驾护航