firefox点击和Chrome点击之间的区别是什么?

时间:2017-06-28 03:29:32

标签: javascript nightmare

我不得不用噩梦写一个刮刀。在一个链接上,网站使用div来让用户离开页面。为了遵循导航流程,我希望我的梦魇实例能够点击"点击" div。但是,当我在chrome上获取元素并调用click时,没有任何反应。与Firefox不同,它的工作正常。

脚本

let elem = document.getElementByClassName('is-a-div-element')[0];
elem.click()

在Firefox上工作正常,Chrome上没有任何反应!有任何想法吗?导致问题的网站使用React。不确定这是否有帮助。

HTML结构如下所示。

<div class="nav-element">
    <div class="is-a-div-element">
        <div roll="button">
           <span roll="presentation">Hello World</span>
           <span class="Exit">Exit</span>
        </div>
    </div>
</div>

1 个答案:

答案 0 :(得分:1)

我不确定Nightmare是如何解决这个问题的,因为你提到Chrome和Firefox并且似乎使用的是标准浏览器Javascript,但无论如何我都会尝试回答。

由于您已使用更具体的信息编辑了问题,因此我将编辑我的答案。现在我能看到的主要问题是你正在使用getElementByClassName,这不是一个函数(缺少s)。

请改为:

let elem = document.getElementsByClassName('is-a-div-element')[0];

在Chrome和Firefox中测试过:

window.addEventListener('load', function() {
    let elem = document.getElementsByClassName('is-a-div-element')[0];
    elem.click();
});
<div class="nav-element">
    <div class="is-a-div-element" onclick="alert('this was clicked frens');">
        <div roll="button">
           <span roll="presentation">Hello World</span>
           <span class="Exit">Exit</span>
        </div>
    </div>
</div>