当我设置输入值并尝试提交值时,我试图使用nodejs和puppeteer自动加入网络会议软件clearslide上的会议,并且消失并表单不引起输入值验证错误。查看javascript代码会显示一些代码,用于监视按键并评估按键。我什至尝试用char代码调度按键事件,但这不起作用。需要一些有关如何正确设置输入值的建议。例如。我尝试过
await page.evaluate ( (zoomMeetingName, zoomMeetingEmailId) => {
el = document.getElementById('email');
etype = 'click';
if (el.fireEvent) {
el.fireEvent('on' + etype);
} else {
var evObj = document.createEvent('Events');
evObj.initEvent(etype, true, false);
el.dispatchEvent(evObj);
}
document.getElementById('email').value = zoomMeetingEmailId;
$("#name").change();
}, MeetingName, MeetingEmailId);
这会触发click事件,然后设置电子邮件的输入值。该值被设置,但是一旦我提交或单击任何输入,字段就会为空。我还尝试触发这样的按键事件:
var press = jQuery.Event("keypress");
press.which = 70;
press.ctrlKey= false,
press.bubbles= true,
press.altKey= false;
$("body").trigger(press);
$("#email").trigger(press);
答案 0 :(得分:0)
您不需要自己模仿按键,p拥有page.type方法:
page.type('#mytextarea', 'Hello'); // Types instantly
page.type('#mytextarea', 'World', {delay: 100}); // Types slower, like a user