我正在构建一个自动化工具,我试图自动化一些评论。 我面临的问题是我无法提交"评论。
我可以在textarea中获取评论/文本,我已经尝试过.submit()但它只是重新加载页面,并没有实际提交评论。我认为实际提交是由enter keypress触发的。
我尝试做.focus()然后模拟回车键,但它没有工作。 另一个问题可能是我在浏览器控制台中运行此代码,而我无法专注于textarea。我可能错了。
此外,textarea没有ID,只有一个类。我尝试使用纯JS,没有jQuery。
function enter1() {
var commentEl = document.querySelector("._2hc0g");
var keyboardEvent = document.createEvent('KeyboardEvent');
delete keyboardEvent.which;
var initMethod = typeof keyboardEvent.initKeyboardEvent !== 'undefined' ? 'initKeyboardEvent' : 'initKeyEvent';
keyboardEvent[initMethod](
'keydown', // event type : keydown, keyup, keypress
true, // bubbles
true, // cancelable
window, // viewArg: should be window
false, // ctrlKeyArg
false, // altKeyArg
false, // shiftKeyArg
false, // metaKeyArg
13, // keyCodeArg : unsigned long the virtual key code, else 0
13 // charCodeArgs : unsigned long the Unicode character associated with the depressed key, else 0
);
console.log("beefore querySelector");
commentEl.focus();
document.querySelector("._2hc0g").dispatchEvent(keyboardEvent);
if(document.querySelector("._2hc0g").dispatchEvent(keyboardEvent)){
console.log("key event worked");
}
console.log("after querySelector");
}
function doComment() {
var textAreaElement = $("textarea._2hc0g");
var commentEl = document.querySelector("._2hc0g");
textAreaElement.value = "Great photo here! I love it :)";
commentEl.focus();
enter1();
}
doComment();