javascript - CasperJS 中移动鼠标触发悬停事件

标签 javascript phantomjs casperjs mousehover

我不明白,为什么 mouse::move() 不起作用。例如this page .

正如您所看到的,共有10个元素,将鼠标光标移动到每张图片上后您将看到详细信息。我有一组每个元素的 id。我想将光标移动到每个元素上,然后选择器“div#hover_item_descriptors”将被更新,我将使用它。这是我的代码:

this.eachThen(ids, function(resp){
  var id = resp.data;

  this.then(function(){
    this.mouse.move('span#' + id + '_name'); //moving at the name of element
  });

  this.waitUntilVisible('div#hover_item_descriptors div#sticker_info', function(){
    // it`s never work, because moving doesn't work
  });
});

为什么不起作用?

最佳答案

我也偶然发现了这一点,由于这个问题而弄清楚了:https://github.com/n1k0/casperjs/issues/208

事实证明,如果您将光标悬停在不在视口(viewport)中的元素上,悬停事件将不起作用。

因此,要使其正常工作,请设置保证超过页面高度的视口(viewport)高度,例如:

var casper = require('casper').create({
    viewportSize : { width: 1280, height: 5000 }
});

关于javascript - CasperJS 中移动鼠标触发悬停事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33858372/

相关文章:

javascript - 我可以将 Excel 工作表中的数据导入到 Instruments UIAutomation 中吗?

javascript - Nodejs/cheerio/x-ray 中的动态链接

javascript - casperjs/slimerjs waitForSelector 中的选择器无效,该选择器在 getElementByXPath 中有效?

node.js - 如何编写自己的 CasperJS 模块?

javascript - 如何使用 mocha/chai 模拟窗口/文档

javascript - 使用 jQuery 或 JS 在模糊时显示 Div 中表单的总计

javascript - 如何为多个ajax调用设置延迟并为其绑定(bind)停止按钮?

javascript - 为什么在 CasperJS 中 POST 请求响应数据为空,即使相同的请求在 Postman 中显示数据

go - 将完整代码传递给phantomjs

javascript - 使用 CasperJS 访问网页