调用click()函数html元素在茉莉phantomjs测试[重复](calling click(

2019-10-22 18:18发布

这个问题已经在这里有一个答案:

  • PhantomJS; 单击某个元素 11个回答

我跑我的噶和PhantomJS测试:

INFO [人缘]:噶v0.12.32服务器开始在HTTP://本地主机:9876 / INFO [启动]:启动浏览器PhantomJS INFO [PhantomJS 1.9.8(Windows 7)中]:连接在插座kVOvdbbgtIeUQuV8AAAA机智

在该测试中,我想点击(p)款,让我的事件反馈:

// given 
var element = appendToBody("<p id='hello-p'>Hello Hello World!</p>");

element.addEventListener('click', function(event) {
    console.log("1");
});

// when
var p = document.getElementById("hello-p");

console.log(p);
// LOG: <p id="hello-p">Hello Hello World!</p>
console.log(p.id);
// LOG: 'hello-p'

p.click(); // calling click

我最终此消息:

类型错误:“未定义”不是(评价“p.click()”)的函数

问:为什么p可能是不确定的?

Answer 1:

好。 Bacause基于WebKit PhantomJS,我要创建/发送事件是这样的:

  var cle = document.createEvent("MouseEvent");
  cle.initEvent("click", true, true);
  var elem = document.getElementById('hello-p');
  elem.dispatchEvent(cle);


文章来源: calling click() function on html element in jasmine-phantomjs test [duplicate]