模拟用户登录问题

一个登录页面,用react写的。页面生成之后 输入用户名,密码 点击登录页面进行登录。
我这边想实现一个功能,就是用js脚本填充用户名密码,然后触发提交按钮的click事件。

clipboard.png

页面中用户名密码 通过

$("input[name='userName']").val(username);
$("input[type='password']").val(pwd);

都可以正常赋值,如下图:

clipboard.png

clipboard.png

然后通过登录按钮click事件的时候就会出现,如下图的提示:

clipboard.png

这是为何??

个人猜想,并没有将数据同步至react元素绑定的model里面去。。有解决办法么?

这是别人做的一个网站,查看里面引入文件发现是react制作的网站。我这边想要实现模拟用户登录,通过jquery操作dom元素,填充数据。触发click事件,进行用户登录。

阅读 5.7k
4 个回答

你猜的应该是对的, 也没有看到你代码 , 咋给你改啊

没有试过用js来写爬虫,不过可以考虑用Python,单纯的js还是比较多限制

新手上路,请多包涵

可以尝试用原生js 赋值
function _setReactInputValue(propertieName,propertieValue,value){
var nativeInputValueSetter = Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype, "value").set;

nativeInputValueSetter.call(document.querySelector('['+propertieName+'="'+propertieValue+'"]'),value);
var ev2 = new Event('input', { bubbles: true});
document.querySelector('['+propertieName+'="'+propertieValue+'"]').dispatchEvent(ev2);

}

_setReactInputValue("placeholder","关键字","XXXXX")

推荐问题