尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
影刀RPA 动态加载网页的稳定采集三策略
影刀RPA 动态加载网页的稳定采集三策略作者林焱什么情况用这个打开一个网页数据是慢慢长出来的——先出骨架然后一条条数据刷出来有时候还要滚动才加载。你的【获取元素列表】在这一刻抓到了10条下一刻可能就是50条。到底什么时候才算加载完成什么时候开始采集最稳动态网页的采集难点不在抓数据在于判断时机。抓早了数据不全抓晚了浪费时间。这篇文章给你三种稳定采集策略覆盖Ajax、懒加载、虚拟滚动等所有动态加载场景。怎么做策略一等待数据稳定最常用核心思想连续两次检测到的数据量相同说明加载完毕。defwait_for_data_stable(driver,selector,stable_count2,max_wait30): 等待数据量稳定 stable_count: 连续N次数量不变才算稳定 last_count0stable_times0for_inrange(max_wait*2):elementsdriver.find_elements(By.CSS_SELECTOR,selector)current_countlen(elements)ifcurrent_countlast_countandcurrent_count0:stable_times1ifstable_timesstable_count:returnelementselse:stable_times0last_countcurrent_count time.sleep(0.5)returndriver.find_elements(By.CSS_SELECTOR,selector)# 超时了也返回策略二监听网络请求完成更精确的做法——等Ajax请求全部完成defwait_for_ajax_complete(driver,timeout15):等待所有Ajax请求完成jQuery/XMLHttpRequest# 注入Ajax监听driver.execute_script( window.__ajaxActive 0; var origXHR window.XMLHttpRequest.prototype; var origOpen origXHR.open; var origSend origXHR.send; origXHR.open function() { this._active true; return origOpen.apply(this, arguments); }; origXHR.send function() { window.__ajaxActive; this.addEventListener(loadend, function() { window.__ajaxActive--; }); return origSend.apply(this, arguments); }; )# 等待活跃请求数降到0for_inrange(timeout*10):activedriver.execute_script(return window.__ajaxActive || 0)ifactive0:time.sleep(0.3)# 确认一下activedriver.execute_script(return window.__ajaxActive || 0)ifactive0:returnTruetime.sleep(0.1)returnFalse策略三MutationObserver监听DOM变化最精确的方式——监听特定容器内的DOM变化defwait_for_dom_stable(driver,container_selector,idle_ms500,timeout15): 监听DOM变化连续idle_ms毫秒没有新变化才算稳定 driver.execute_script(f window.__domStable false; window.__domTimer null; var target document.querySelector({container_selector}); if (!target) return; var observer new MutationObserver(function() {{ window.__domStable false; clearTimeout(window.__domTimer); window.__domTimer setTimeout(function() {{ window.__domStable true; }},{idle_ms}); }}); observer.observe(target, {{ childList: true, subtree: true }}); // 初始设置定时器 window.__domTimer setTimeout(function() {{ window.__domStable true; }},{idle_ms}); )# 等待稳定标志for_inrange(timeout*10):stabledriver.execute_script(return window.__domStable)ifstable:returnTruetime.sleep(0.1)returnFalse有什么坑坑一数据一直在变永远不会稳定现象实时更新的数据看板数据一直在刷新永远等不到稳定。解决设定最大等待时间超时就按当前数据采集。或者用采集前N条策略不等全部加载。坑二虚拟滚动的数据看到才存在现象DOM里只有可见区域的20条数据上面的已经移除、下面的还没生成。解决边滚动边采集——滚一段、等加载、采集、记录位置、继续滚。坑三等待了Ajax但数据是WebSocket推的现象Ajax监听显示完成了但数据还在通过WebSocket进来。解决这种情况下只能用策略一等数据量稳定或策略三DOM变化监听。总结三种策略的适用场景——绝大多数情况用策略一等数据量稳定Ajax频繁的页面用策略二等网络请求完成实时更新的看板用策略三DOM监听。
RELATED

相关推荐

如何利用etmem与cslide引擎实现内存垂直扩展?终极AEP高性能存储解决方案

如何利用etmem与cslide引擎实现内存垂直扩展?终极AEP高性能存储解决方案

如何利用etmem与cslide引擎实现内存垂直扩展?终极AEP高性能存储解决方案 【免费下载链接】etmem the memory vertical expansion technology that can achieve the purpose of memory capacity expansion and memory cost reduction. 项目地址: https://gitcode.c…

📅 2026/11/12 7:26:08
影刀RPA 函数参数详解:位置参数、关键字参数、默认值

影刀RPA 函数参数详解:位置参数、关键字参数、默认值

影刀RPA 函数参数详解:位置参数、关键字参数、默认值作者:林焱什么情况用 你在影刀RPA的Python代码块里写函数,发现参数传得越来越乱——有的按顺序传、有的按名字传、有的有默认值有的没有。调用的时候参数太多,记不住哪个是哪个…

📅 2026/10/2 10:06:24
Java 大厂面试高频题:别再只会 new 了!Java 创建对象竟然有这么多种方式

Java 大厂面试高频题:别再只会 new 了!Java 创建对象竟然有这么多种方式

在学习 Java 时,我们最先接触的对象创建方式通常是: Person person new Person();因此,很多初学者会认为 Java 创建对象只能使用 new。 实际上,Java 中常见的对象创建方式不止一种。除了直接使用 new,还可以通过反射、…

📅 2026/10/17 13:37:32
MORE NEWS

更多资讯

📰

行唐办理电工证内部消息:学历不高也能报,但这些细节你必须知道

行唐办理电工证内部消息:学历不高也能报,但这些细节你必须知道 学历不高怕报不上名?别慌,行唐办理电工证这事,不是你想象的那么难。尤其是现在国家对特种作业人员的管理越来越规范, 行唐办理电工证…

📰

电工证培训在哪里报名良心建议|工地太忙根本没时间复习考试

电工证培训在哪里报名良心建议|工地太忙根本没时间复习考试 工地太忙根本没时间复习考试,这不是个别现象,而是大多数一线电工的现实困境。尤其在像周口这样的地级市,建筑工地多、项目紧、工期压得人喘不过气来,很多人甚至连吃饭的时间都得抢。但你可能不…

📰

低压电工证最难问题怎么破?上岗必备实操难点全解析

低压电工证最难问题怎么破?上岗必备实操难点全解析 实操考试心里没底怕挂科,低压电工证考试到底难在哪?很多考生在备考过程中,最大的恐惧往往不是理论题,而是操作考试时的不确定性和现场突发状况。尤其是在当前电力行业对持证上岗要求越来越严的背景下,…

📰

新能源特种电工作业怎么考?怕考不过白交培训费的看过来

新能源特种电工作业怎么考?怕考不过白交培训费的看过来 怕考不过白交培训费?新能源特种电工作业现在是 上岗必备 ,但很多刚接触的朋友总担心自己跟不上节奏,或者花了钱却拿不到证。我之前在郑州金水区带过几十个学员,今天就结合真实案例,告诉你从零开…

📰

行唐办理电工证怎么考?官方报名入口+实操考试避坑指南

行唐办理电工证怎么考?官方报名入口+实操考试避坑指南 实操考试心里没底怕挂科?行唐办理电工证的小伙伴,别慌,这篇文章能帮你搞清楚流程、避坑点和复习重点。电工证不仅是上岗门槛,更是提升职业竞争力的“硬通货”。如果你正准备考低压电工证或者高压电…

📰

中级电工证买报名费多少钱 通过率揭秘怎么选靠谱机构

中级电工证买报名费多少钱 通过率揭秘怎么选靠谱机构 你是不是也这样,拿着手机在手机上翻来翻去,想着 中级电工证买 的事,但又担心被中介骗了钱还拿不到证?其实,我当初也是这样,跑遍了几个地方,结果不是被忽悠就是被坑。今天就来聊聊这个事,也带你…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬