相关疑难解决方法(0)

PhantomJS; 单击一个元素

如何单击PhantomJS中的元素?

page.evaluate(function() {
    document.getElementById('idButtonSpan').click();  
});
Run Code Online (Sandbox Code Playgroud)

这给了我一个错误"未定义不是一个函数......"

如果我改为

 return document.getElementById('idButtonSpan');
Run Code Online (Sandbox Code Playgroud)

然后打印出来,

然后它打印[object object],因此元素确实存在.

该元素充当按钮,但它实际上只是一个span元素,而不是提交输入.

我能够点击这个按钮点击Casper,但Casper有其他限制,所以我回到了PhantomJS.

javascript click phantomjs

80
推荐指数
6
解决办法
8万
查看次数

div按钮上的JQuery click()不会触发

我试图模仿用户点击我无法控制的代码的网站.我尝试与div作为按钮的元素.

<div role="button" class="c-T-S a-b a-b-B a-b-Ma oU v2" aria-disabled="false" style="-webkit-user-select: none;" tabindex="0">
    Generate
</div>
Run Code Online (Sandbox Code Playgroud)

与元素关联的事件监听器(根据Chrome的检查员)是:

在此输入图像描述

而我只是试图点击按钮使用:

var button = $('.c-T-S.a-b.a-b-B.a-b-Ma.oU.v2')
button.click()
Run Code Online (Sandbox Code Playgroud)

......但没有任何反应.选择器有效,经过验证:

alert($('.c-T-S.a-b.a-b-B.a-b-Ma.oU.v2').length); // alerts "1"
Run Code Online (Sandbox Code Playgroud)

我尝试过所有事件处理程序的排列

button.trigger('click');
button.mouseover().mousedown().mouseup()
button.trigger('mouseover', function() { button.trigger('mousedown', function() { button.trigger('mouseup'); });  });
Run Code Online (Sandbox Code Playgroud)

......但仍然没有.如何模拟此div的点击?

如果不清楚,我试图模拟这个div上的单击并触发原始函数,而不是在元素上定义新的单击函数.

UPDATE

其中许多答案确实单击了按钮,但不会产生与手动单击按钮相同的结果.所以问题似乎不一定是点击按钮本身,而是模仿真正的点击.

html javascript css simulation jquery

8
推荐指数
1
解决办法
3139
查看次数

标签 统计

javascript ×2

click ×1

css ×1

html ×1

jquery ×1

phantomjs ×1

simulation ×1