You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

能否在Cheerio中模拟鼠标悬停?When2Meet爬取需求

解决When2Meet悬停区块后爬取左侧弹窗人员信息的问题

问题分析

直接用jQuery.hover()无效,大概率是两个原因:

  • 时间区块元素是动态生成的,直接绑定事件到静态元素上无法覆盖后续加载的区块
  • When2Meet的交互逻辑可能依赖原生mouseenter事件,而非jQuery封装的hover(它是mouseenter+mouseleave的简写)

解决方案

用事件委托绑定mouseenter事件,确保能捕获动态生成的时间区块,再获取弹窗内的人员信息:

  1. 先通过浏览器开发者工具确认目标选择器:

    • 时间区块的类名(比如实际是.TimeBlock,可在Elements面板里查看)
    • 左侧弹窗的人员列表容器(比如#AvailablePeople ul)
  2. 绑定事件并提取信息:

// 用事件委托监听所有时间区块的鼠标移入事件
$(document).on('mouseenter', '.TimeBlock', function() {
    // 等待弹窗渲染完成(给100ms延迟,避免DOM未更新)
    setTimeout(() => {
        // 提取弹窗内的所有人员名称
        const availablePeople = $('#AvailablePeople li').map(function() {
            return $(this).text().trim();
        }).get();
        
        // 输出结果,可根据需求存入变量或做其他处理
        console.log('可用人员:', availablePeople);
    }, 100);
});

额外提示

  • 如果延迟100ms不够,可适当调整数值,确保弹窗内容已加载
  • 若要监听鼠标移出事件,可在同一事件委托里绑定mouseleave,或者单独写$(document).on('mouseleave', '.TimeBlock', ...)
  • 批量爬取时不要过于频繁触发事件,避免页面卡顿

内容的提问来源于stack exchange,提问作者Baselistic

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 10:48:16