求助输入框输入问题
新手刚刚入门,可以问一下直接修改输入框的value无法提交应该怎么处理。。。直接修改value和网上那些模拟输入都不会提示此题是必答题应该。。。恒道大佬说找事件监听但是我不会,有大佬教吗{:4_88:}能不能直接真实模拟键盘输入呢脚本体验师001 发表于 2021-11-3 19:54
实际上咱们这种悬赏方式应该结帖率不高
各种各样的网页,需要对应的各种策略
如果能重现这个网页,比如Base ...
李恒道的蛋蛋没了
我试了下
是document全局的addeventlistener
注入点很难找
最后我搞了个脏hook对call函数进行劫持了
这是代码
Function.prototype.oldcall=Function.prototype.call
function fuckcall(...args){
let target=this
if(args.length===2){
if(args.className==='UEditoTextarea___27hB8'){
let ret=target.oldcall(...args)
setTimeout(()=>{
if(ret.handleChange!==undefined){
window.ttt=ret
window.ttt.handleChange({target:{value:'666'}})
Function.prototype.call=Function.prototype.oldcall
}
})
return ret;
}
}
let ret=target.oldcall(...args)
return ret;
}
Function.prototype.call=fuckcall
他是不是事件监听监听到键盘的按下抬起之类的,才能按提交,我也蹲个答案 是不是有字数限制? 触发一下事件即可,具体是哪个事件不一定,不会分析的话下面的代码逐行试一下(假设目标input元素为ele):
ele.dispatchEvent(new Event('input'));
ele.dispatchEvent(new Event('change'));
ele.dispatchEvent(new Event('propertychange')); 楼上是正解的,new一个event然后dispatchEvent
看他监听了哪个事件,触发出来就好了 cxxjackie 发表于 2021-11-3 00:09
触发一下事件即可,具体是哪个事件不一定,不会分析的话下面的代码逐行试一下(假设目标input元素为ele): ...
一行行试了还是不行,{:4_115:} Hangover 发表于 2021-11-3 00:06
是不是有字数限制?
没。输入空格都行, Yuan. 发表于 2021-11-3 18:24
一行行试了还是不行,
顺序没弄错吧,先修改value,后触发事件,然后提交,还有ele要改成对应的input元素(注意一定要是input)。 实际上咱们这种悬赏方式应该结帖率不高
各种各样的网页,需要对应的各种策略
如果能重现这个网页,比如Base64放个网址出来(当然尽量想办法)
像 cxxjackie 大神级别我用李恒道的蛋蛋发誓 在三秒钟以内给你最正确答案
这扯得,都盲猜给你答案,想戳准很难