当我调度事件()

时间:2017-11-12 06:08:08

标签: javascript reactjs dom phantomjs

我正在尝试编写一个PhantomJS脚本来自动将应用程序提交到Amazon App Store。但是我在提交表单时遇到了麻烦。以下是我用于提交应用的网址:https://developer.amazon.com/application/new.html

然后在控制台上输入此代码来测试: 我发出的第一个命令是:

document.getElementsByClassName('inputBlockTitle')[0].nextElementSibling.value='zzzzzz zzzzzz';

一切都很好。

enter image description here

接下来的命令是......

document.querySelector('select').selectedIndex = 16;
var evnt2 = document.createEvent("MouseEvents");
evnt2.initEvent("change",true,true);

......而且一切都很好......

enter image description here

...但是当我通过执行......

实际发送该事件时
document.querySelector('select').dispatchEvent(evnt2);

......申请标题空白!

我做错了什么?

enter image description here

1 个答案:

答案 0 :(得分:0)

在经历了数天的追踪和错误后,我得到了一些有用的东西。不知道为什么会这样,但确实如此。以下是我必须发布的一系列命令:

var app_title_el = $(document.body).find('input')[0];
app_title_el.value='the title of the app';
var ap_ti_evnt = document.createEvent("MouseEvents");
ap_ti_evnt.initEvent("change", true, true);
app_title_el.dispatchEvent(ap_ti_evnt);
$(document.body).find('select')[0].selectedIndex = 16;
var evnt2 = document.createEvent("MouseEvents");
evnt2.initEvent("change",true,true);
$(document.body).find('select')[0].dispatchEvent(evnt2);