c# – 将增长的页面滚动到底部
发布时间:2020-12-16 01:55:56 所属栏目:百科 来源:网络整理
导读:我有一个页面.当我手动滚动它,它会增长然后我可以反复滚动它直到滚动到达底部(一个很好的例子是Facebook时间线页面). 我试着写: static IWebDriver driver = new ChromeDriver(@"C:seleniumnet40");IJavaScriptExecutor js = driver as IJavaScriptExecut
我有一个页面.当我手动滚动它,它会增长然后我可以反复滚动它直到滚动到达底部(一个很好的例子是Facebook时间线页面).
我试着写: static IWebDriver driver = new ChromeDriver(@"C:seleniumnet40"); IJavaScriptExecutor js = driver as IJavaScriptExecutor; 然后我进入了一个页面并做了: js.ExecuteScript("window.scroll(0,document.height)"); 但我可以滚动更多. 即使页面在增长,如何才能滚动到底部? 任何帮助赞赏! 解决方法
window.scroll(0,document.height)将滚动到已知的可滚动区域.问题是当您到达页面底部时会下载更多数据.因此,可滚动区域被更改.您需要根据需要滚动多次.
例如,使用此脚本 var timeId = setInterval( function() { if(window.scrollY!==document.body.scrollHeight) window.scrollTo(0,document.body.scrollHeight); else clearInterval(timeId); },500); 编辑: 在某些页面上,window.scrollY将永远不会等于document.body.scrollHeight,因此永远不会清除setIntervanl:这将阻止您转到顶部. var timeId = setInterval( function() { if(window.scrollY<(document.body.scrollHeight-window.screen.availHeight)) window.scrollTo(0,document.body.scrollHeight); else { clearInterval(timeId); window.scrollTo(0,0); } },500); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |