似乎无法在Javascript中模拟“解锁” Reddit“发布”按钮的按键吗?

问题描述 投票:0回答:1

[the element's event listeners enter image description here我尝试了以下操作,但它们不起作用:

document.querySelector("[placeholder=Title]").dispatchEvent(new KeyboardEvent('keypress',{'key':'70'}));

document.querySelector("[placeholder=Title]")..dispatchEvent(new KeyboardEvent('keyup',{'key':'70'}));


document.querySelector("[placeholder=Title]").value = 'titleTextProgramaticallyInput'[![jav][1]][1]

标题元素使我无法以编程方式单击“发布”

URL:https://www.reddit.com/user/您的用户名 /提交

enter image description here

javascript browser dom-events
1个回答
0
投票

Reddit正在使用react,因此这些输入字段隐藏在复杂性层后面。参见此SO post

使用那里的说明,您可以通过触发textArea原型中的实际set方法来点亮发布按钮:


var titleElement = document.querySelector("[placeholder=Title]");
var nativeInputValueSetter = Object.getOwnPropertyDescriptor(window.HTMLTextAreaElement.prototype, "value").set;
nativeInputValueSetter.call(titleElement, 'react 16 value');

var triggerUpdateEvent = new Event('input', { bubbles: true});
titleElement.dispatchEvent(triggerUpdateEvent);

© www.soinside.com 2019 - 2024. All rights reserved.