python 比webdriver更好用的ChromiumPage

dandanforgetlove 2024-10-05 11:33:22 阅读 81

优点(目前发现的):

不用配合selenium不用下载对应浏览器的webdriver,不用对应浏览器版本不用设置webdriver路径之类的设置目前没看到有出现像webdriver类似的浏览器被控制的提示,使用过程中好像也没被检测出来。每次不会重新打开一个浏览器,不会关闭。控制滚动条更方便,不用像webdriver写js去执行,效果还不好。可以监控网络请求,比webdriver方便多了。

chromiumPage介绍:

DrissionPage 是一个基于 python 的网页自动化工具。它既能控制浏览器,也能收发数据包,还能把两者合而为一。可兼顾浏览器自动化的便利性和 requests 的高效率。它功能强大,内置无数人性化设计和便捷功能。它的语法简洁而优雅,代码量少,对新手友好。

支持系统:Windows、Linux、Mac;python 版本:3.6 及以上;支持应用:Chromium 内核浏览器(如 Chrome、Edge),electron 应用;

本库采用全自研的内核,内置了无数实用功能,对常用功能作了整合和优化,对比 selenium,有以下优点:

无 webdriver 特征;无需为不同版本的浏览器下载不同的驱动;运行速度更快;可以跨 iframe 查找元素,无需切入切出;把 iframe 看作普通元素,获取后可直接在其中查找元素,逻辑更清晰;可以同时操作浏览器中的多个标签页,即使标签页为非激活状态,无需切换;可以直接读取浏览器缓存来保存图片,无需用 GUI 点击另存;可以对整个网页截图,包括视口外的部分(90 以上版本浏览器支持);可处理非 open 状态的 shadow-root。

ChromiumPage 依赖

安装 drissionPage

<code>pip3 install drissionPage

ChromiumPage windows报错

刚开始执行的时候,直接报错:

for filename in filenames:

TypeError: 'WindowsPath' object is not iterable

百度、Google无果。

最后自己调试解决的。

报错:

解决:

打开报错的类,编辑代码。

思路,看代码是循环的时候出现报错,filenames对象是一个WindowsPath类型。循环的时候报错。看代码是循环文件,便在前面加了一个类型判断。

ChromiumPage 使用

以下为一个小示例

<code> from DrissionPage import ChromiumPage

driver = ChromiumPage()

# 监听指定的url

driver.listen.start('aweme/v1/web/comment/list/')

# 访问链接

driver.get('https://www.douyin.com/video/7382814024410336552')

#滚动滚动条到底部,获取监听结果

for page in range(3):

print(f'正在采集第{page + 1}页的数据内容')

driver.scroll.to_bottom()

resp = driver.listen.wait()

json_data = resp.response.body

# 保存文件(可以注释)

save_comments_to_csv(json_data.get('comments', []), csv_writer)

# 获取元素

moreButton = driver.eles("tag:button@class=jlqd8usT comment-reply-expand-btn")

# moreButton = driver.eles("tag:button@class=bgz8RRCZ")

# 增加新的监听

driver.listen.start('aweme/v1/web/comment/list/reply/')

for more in moreButton:

# 执行元素动作

more.click()

# 等待结果

resp = driver.listen.wait()

# 获取结果

json_data = resp.response.body

print(json_data)

参考链接:

元素定位&操作

自动化测试框架:DrissionPage_chromiumpage-CSDN博客x

相关使用

爬虫基础之自动化工具 DrissionPage 的使用_浏览器_功能_httpsg

更多使用

一个神奇的自动化爬虫利器 - DrissionPagae_drissionpage设置代理-CSDN博客

https://www.drissionpage.cn/ChromiumPage/screen/ 



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。