使用splash模拟登录时遇到的一点问题

利用splash渲染某网站登录页面,模拟click按钮登录发现按钮无反映。
检查页面源代码发现其按钮的click事件是通过js代码添加的。其在页面加载完成后(window.load()判定),使用addEventlistener添加,而splash似乎并没有执行这段代码。
在splash的github上提了issue,但是作者也并不知道是什么问题。
最后通过在splash的script中添加一段代码,向页面发送window.load事件后得以解决。代码如下:
assert(splash:runjs("var event3 = new Event('load');window.dispatchEvent(event3);"))
参考:
createEvent-dispatchEvent and preventDefault example - Mozilla Developer Center
javascript - How can I trigger an onchange event manually? - Stack Overflow

你可能感兴趣的:(使用splash模拟登录时遇到的一点问题)