DrissionPage
使用DrissionPage自动化框架,与Selenium相比,其使用更简单。
- 官方文档: DrissionPage 官方文档
# 安装命令(安装或升级):
pip install DrissionPage --upgrade
-
启动浏览器
这个框架不需要像Selenium那样安装驱动,最新版的Selenium也不需要驱动。
from DrissionPage import ChromiumPage page = ChromiumPage() # 启动Chromium浏览器实例
-
访问网站
from DrissionPage import ChromiumPage page = ChromiumPage() page.get('https://www.baidu.com') # 使用get方法访问网站
-
元素获取
获取元素的方法简单直接:
ele
: 获取单个元素对象。eles
: 获取多个元素对象并存放在列表中。
from DrissionPage import ChromiumPage page = ChromiumPage() page.get('https://movie.douban.com/chart') # 示例:在列表页获取多个对象 titles = page.eles('x://*[@id="content"]/div/div[1]/div/div/table') for title in titles: print(title.ele('x:.//tbody/tr/td[2]/div/a').text)
框架支持多种元素定位策略,通常使用XPath。更多定位策略请参考官方文档。
进阶内容
打开新标签页:
from DrissionPage import ChromiumPage
page = ChromiumPage()
tab = page.new_tab('https://movie.douban.com/chart')
# 获取多个对象示例
titles = tab.eles('x://*[@id="content"]/div/div[1]/div/div/table')
for title in titles:
print(title.ele('x:.//tbody/tr/td[2]/div/a').text)
new_tab
方法能够方便地管理多个标签页,提升数据采集效率和灵活性。