利用Selenium控制网页内嵌滚动条

简介: 在利用Selenium写网页爬虫的时候,我们会经常碰到网页内嵌滚动条,如下网页: 那么该如何控制该内嵌滚动条的行为呢?我们的主要思路是:先找到滚动条,再利用Selenium中的命令:ActionChains(browser).drag_and_drop_by_offset(element, xOffset, yOffset).perform()找到元素element,设置好里面的xOffset和yOffset,这样便能够控制滚动条的上下移动了。

在利用Selenium写网页爬虫的时候,我们会经常碰到网页内嵌滚动条,如下网页:
新浪微盘 周杰伦歌曲合集

那么该如何控制该内嵌滚动条的行为呢?我们的主要思路是:先找到滚动条,再利用Selenium中的命令:ActionChains(browser).drag_and_drop_by_offset(element, xOffset, yOffset).perform()

找到元素element,设置好里面的xOffset和yOffset,这样便能够控制滚动条的上下移动了。
笔者写了这样一段Python程序代码以展示如何控制网页内嵌滚动条:

from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains

browser = webdriver.Chrome() #加载Chrome浏览器
browser.maximize_window() #最大化
browser.get('http://vdisk.weibo.com/s/arjVBmagFKiLy') #加载该页面
for i in range(10):
    Drag = browser.find_element_by_class_name("jspDrag") #找到滚动条
    #控制滚动条的行为,每次向y轴(及向下)移动10个单位
    ActionChains(browser).drag_and_drop_by_offset(Drag, 0, 10).perform()
    time.sleep(2) #休眠2秒

当我们能够控制网页内嵌滚动条的行为时,我们就能够进行一些更为有趣的操作了,期待下一篇分享^O^.

目录
相关文章
|
存储 搜索推荐 数据挖掘
使用selenium库模拟浏览器行为,获取网页的cookie值
使用selenium库模拟浏览器行为,获取网页的cookie值
|
搜索推荐 API 数据安全/隐私保护
使用Selenium进行网页登录和会话管理
使用Selenium进行网页登录和会话管理
|
Web App开发 数据采集 JavaScript
CDP与Selenium相结合——玩转网页端自动化数据采集/爬取程序
本文介绍了Selenium、Chrome DevTools及Chrome DevTools Protocol (CDP) 的基本功能与应用。Selenium是一款开源自动化测试工具,适用于网页端应用程序测试和数据采集,具备跨平台特性。Chrome DevTools内置浏览器中,提供调试、分析Web应用程序的功能,包括元素、控制台、源代码和网络选项卡等。CDP是一套用于与Chromium内核浏览器通信的API,支持自动化测试和性能分析。文中还展示了Selenium与CDP结合使用的示例,如捕获网络请求数据和打印网页内容,并推荐了相关书籍和资源以供深入学习。
1802 39
CDP与Selenium相结合——玩转网页端自动化数据采集/爬取程序
|
JavaScript 前端开发 测试技术
精通Selenium:从基础到高级的网页自动化测试策略
【10月更文挑战第6天】随着Web应用变得越来越复杂,手动进行功能和兼容性测试变得既耗时又容易出错。自动化测试因此成为了现代软件开发不可或缺的一部分。Selenium是一个强大的工具集,它支持多种编程语言(包括Python),允许开发者编写脚本来模拟用户与Web页面的交互。本文将带领读者从Selenium的基础知识出发,逐步深入到高级的应用场景,通过丰富的代码示例来展示如何高效地进行网页自动化测试。
2233 5
|
XML 数据采集 JSON
scrapy_selenium爬取Ajax、JSON、XML网页:豆瓣电影
在网络爬虫的开发过程中,我们经常会遇到一些动态加载的网页,它们的数据不是直接嵌入在HTML中,而是通过Ajax、JSON、XML等方式异步获取的。这些网页对于传统的scrapy爬虫来说,是很难直接解析的。那么,我们该如何使用scrapy_selenium来爬取这些数据格式的网页呢?本文将为你介绍scrapy_selenium的基本原理和使用方法,并给出一个实际的案例。
308 0
|
数据采集 Web App开发 数据处理
一步步教你用Python Selenium抓取动态网页任意行数据
使用Python Selenium爬取动态网页,结合代理IP提升抓取效率。安装Selenium,配置代理(如亿牛云),设置User-Agent和Cookies以模拟用户行为。示例代码展示如何使用XPath提取表格数据,处理异常,并通过隐式等待确保页面加载完成。代理、模拟浏览器行为和正确配置增强爬虫性能和成功率。
2257 3
一步步教你用Python Selenium抓取动态网页任意行数据
|
Web App开发 敏捷开发 测试技术
自动化测试之美:使用Selenium WebDriver进行网页功能验证
【8月更文挑战第29天】在数字时代,软件质量是企业竞争力的关键。本文将深入探讨如何通过Selenium WebDriver实现自动化测试,确保网页应用的可靠性和性能。我们将从基础设置到编写测试用例,逐步引导读者掌握这一强大的测试工具,同时分享实战经验,让测试不再是开发的负担,而是质量保证的利器。
python+selenium 通过添加cookies或token解决网页上验证码登录问题
cookie或token可以保存登录信息,当我们拿到cookie后,可以通过向浏览器发送cookie中记录的数据,直接变成登录状态,不需要再登录。
2732 0
|
监控 数据挖掘 Java
Scala中使用Selenium进行网页内容摘录的详解
Scala中使用Selenium进行网页内容摘录的详解
|
Web App开发 数据采集 测试技术
如何隐藏Selenium特征实现自动化网页采集
Selenium是一个流行的自动化网页测试工具,可以通过模拟用户在Chrome浏览器中的操作来完成网站的测试。然而,有些网站会检测浏览器是否由Selenium驱动,如果是,就会返回错误的结果或拒绝访问。为了避免这种情况,我们需要隐藏Selenium的特征,让网站认为我们是正常的用户。
1506 0
如何隐藏Selenium特征实现自动化网页采集