Selenium滚动HackerOne动态页面失效:仅滚动一次,控制台执行scrollTo也无效
问题原因分析
滚动目标容器错误:HackerOne机会搜索页的可滚动内容并非绑定在
document.body上,而是嵌套在某个内部滚动容器(如特定类名的<div>或<main>元素)。你使用document.body.scrollHeight获取的是整个页面body的高度,而非实际承载搜索结果的容器总高度,导致window.scrollTo(0, document.body.scrollHeight)无法滚动到真正的内容底部,自然触发不了新内容的加载。滚动后未等待滚动完成:即使滚动目标正确,直接执行滚动指令后立刻进入等待逻辑,可能因为页面存在滚动动画、浏览器渲染延迟,滚动动作还没完成就开始判断内容数量,最终导致超时误判。
固定布局元素干扰高度计算:页面的固定导航栏、底部栏会占据视口空间,使得
document.body.scrollHeight的计算值与实际可滚动的内容高度存在偏差,滚动指令无法触达加载新内容的触发位置。
内容的提问来源于stack exchange,提问作者binary
相关产品推荐
相关产品推荐

