gpt4 book ai didi

javascript - 在 react 元素上模拟点击事件

转载 作者:数据小太阳 更新时间:2023-10-29 04:29:44 27 4
gpt4 key购买 nike

我正在尝试模拟 .click() eventReact 上元素,但我不知道为什么它不起作用(当我发射 event 时它没有反应)。

我想仅使用 JavaScript 发布 Facebook 评论,但我卡在了第一步(在 .click() 元素上执行 div[class="UFIInputContainer"])。

我的代码是:

document.querySelector('div[class="UFIInputContainer"]').click();

这是我尝试执行此操作的 URL:https://www.facebook.com/plugins/feedback.php...

附言我对 React 没有经验,我真的不知道这在技术上是否可行。可能吗?

编辑:我正在尝试从 Chrome DevTools Console 执行此操作.

最佳答案

React 跟踪 mousedownmouseup 事件来检测鼠标点击,而不是像大多数其他事件一样跟踪 click 事件。因此,不是直接调用 click 方法或调度 click 事件,而是必须调度 down 和 up 事件。为了更好的衡量,我还发送了 click 事件,但我认为这对于 React 来说是不必要的:

const mouseClickEvents = ['mousedown', 'click', 'mouseup'];
function simulateMouseClick(element){
mouseClickEvents.forEach(mouseEventType =>
element.dispatchEvent(
new MouseEvent(mouseEventType, {
view: window,
bubbles: true,
cancelable: true,
buttons: 1
})
)
);
}

var element = document.querySelector('div[class="UFIInputContainer"]');
simulateMouseClick(element);

这个答案的灵感来自 Selenium Webdriver code .

关于javascript - 在 react 元素上模拟点击事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40091000/

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