简单使用DrissionPage网页自动化工具

DrissionPage 是一个基于 python 的网页自动化工具,类似Selenium,可以操控浏览器进行一些自动测试,也可以直接发请求;

官网:DrissionPage官网 (那个浏览器黑白图标一眼看去还以为是只哭泣的小猪,哈哈)

官网的使用文档比较详细,功能也很多;

使用pip安装:pip install DrissionPage

使用Chromium简单demo测试:

#!/usr/bin/env python3
# coding = utf-8

from DrissionPage import Chromium, ChromiumOptions
from DrissionPage.common import Actions

path = r'C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe'
co = ChromiumOptions().set_browser_path(path)  # 设置下浏览器启动路径

chrom = Chromium(co)

tab1 = chrom.latest_tab
tab1.get('https://www.baidu.com/')

es = tab1.eles('tag:span@class=title-content-title')  # 百度热搜条目列表
for e in es:
    print(e.text)
es[1].click()  # 点击第二个百度热搜

tab = chrom.latest_tab
div = tab.ele('tag:div@class=FYB_RD')  # 右侧热搜总div
d = div.children()[2]  # 30条热搜(15显示15隐藏)
d = d.children()[0]  # 前15条显示的热搜总div
d = d.children()  # 15条列表
Actions(tab)  # 绑定动画
for x in d:
    a = x.ele('tag:a')
    tab.actions.move_to(a, duration=0.2)  # 鼠标从第一个热搜移动到最后一个

tab.listen.start('baidu.com/')
kw = tab.ele('#kw')  # 定位搜索输入框
kw.clear().input('hello world')  # 清空并输入关键字hello world
tab.ele('#su').click()  # 点击百度一下搜索
tab.listen.wait(20, timeout=3, fit_count=False, raise_err=False)  # 等待请求数据加载完成
div = tab.ele('#content_left')  # 搜索结果总列表div
a = div.eles('tag:h3').filter_one.text('百度百科')  # 找到第一个百度百科的标题
a = a.ele('tag:a')  # 定位到标题的链接
a.click()  # 点击hello world的百度百科
chrom.close_tabs(chrom.latest_tab, True)  # 关闭除了最后一个tab之外的全部标签

运行结果:

drissionpage测试

也可以使用SessionPage直接发送请求不通过浏览器,没有网页那些点击等操作:

from DrissionPage import SessionPage

page = SessionPage()
page.get('https://www.baidu.com/')

titles = page.eles('tag:span@class=title-content-title')
for title in titles:
    print(title.text)

运行结果:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值