DrissionPage 一个替代selenium的pip包,持续更新
1、加载内容,并接管chrome浏览器
from DrissionPage import ChromiumPage, ChromiumOptions
page = ChromiumPage(addr_or_opts='127.0.0.1:9222')
print(page.title)
ul = page.eles('@id=form-submit')foriin ul:
print(i.text)
废话
DrissionPage 是一个基于 Selenium 的自动化测试框架,它简化了 Selenium 的使用过程,并且支持多种浏览器。下面是一段关于 DrissionPage 的学习笔记示例:
DrissionPage 学习笔记
1. 引言
- 目的:了解和掌握 DrissionPage 的基本用法及优势。
- 背景:Selenium 虽然功能强大,但代码复杂度较高,DrissionPage 则通过封装常用操作,提高了自动化脚本的开发效率。
2. 安装与配置
- 安装:
pip install drissionpage
- 环境准备: - 安装对应浏览器及其驱动程序(如 ChromeDriver)。- 设置环境变量,确保浏览器驱动可被访问。
3. 基本用法
- 初始化浏览器:
from drissionpage import DrissionPage# 初始化浏览器实例page = DrissionPage(browser='chrome')
- 打开网页:
page.get('https://www.example.com')
- 元素定位:- CSS 选择器:
element = page.locator_css('#element-id').wait()
- XPath:element = page.locator_xpath('//div[@id="element-id"]').wait()
- 元素交互:- 点击:
element.click()
- 输入文本:element.type('Hello, World!')
- 关闭浏览器:
page.quit()
4. 高级特性
- 页面等待:
page.wait_page_load()
- 断言:
assert page.locator_css('#element-id').exists()
- 截图:
page.screenshot('example.png')
5. 示例代码
from drissionpage import DrissionPage
deftest_example():
page = DrissionPage(browser='chrome')try:
page.get('https://www.example.com')
page.wait_page_load()
search_box = page.locator_css('#search-box').wait()
search_box.type('test query')
search_box.submit()
results = page.locator_css('.search-result').wait_all()assertlen(results)>0finally:
page.quit()if __name__ =='__main__':
test_example()
6. 总结
- DrissionPage 通过提供简洁的 API 和封装机制,大大降低了使用 Selenium 进行 Web 自动化测试的难度。
- 适合快速原型开发和日常测试任务。
本文转载自: https://blog.csdn.net/pitaya_huatu/article/details/141072240
版权归原作者 右恩 所有, 如有侵权,请联系我们删除。
版权归原作者 右恩 所有, 如有侵权,请联系我们删除。