# DrissionPage 常用语法速查
整理项目中实际使用到的 DrissionPage 语法,用于快速编写自动化脚本。
---
# 1 创建浏览器
```python
from DrissionPage import ChromiumPage
page = ChromiumPage()
关闭浏览器:
page.quit()
2 打开网页
page.get("https://example.com")
打开本地文件:
page.get("file:///D:/test/index.html")
3 获取单个元素
page.ele("xpath://input[@id='username']")
返回 Element 对象。
4 获取多个元素
rows = page.eles("xpath://tbody/tr")
获取数量:
len(rows)
5 点击元素
page.ele("xpath://button").click()
6 输入文本
page.ele("xpath://input").input("admin")
7 清空输入框
ele = page.ele("xpath://input")
ele.clear()
ele.input("text")
8 获取文本
text = page.ele("xpath://span").text
9 获取 iframe
方式一:
frame = page.get_frame(index=0)
方式二:
frame = page.frame(0)
返回 iframe 页面对象。
10 iframe 内操作元素
frame.ele("xpath://button").click()
输入:
frame.ele("xpath://input").input("text")
11 iframe 内获取多个元素
rows = frame.eles("xpath://tbody/tr")
12 判断元素是否存在
ele = page.ele("xpath://div")
if ele:
print("元素存在")
13 在元素内部查找
ul = page.ele("xpath://ul")
ul.ele("xpath:.//li")
. 表示当前节点。
14 XPath 文本匹配
//*[contains(normalize-space(.), '文本')]
示例:
page.ele("xpath://*[contains(normalize-space(.), '线路名称')]")
15 自动化流程示例
from DrissionPage import ChromiumPage
page = ChromiumPage()
page.get("https://example.com")
page.ele("xpath://input").input("username")
page.ele("xpath://button").click()
frame = page.get_frame(index=0)
frame.ele("xpath://button").click()
text = frame.ele("xpath://span").text
page.quit()
16 本项目使用到的 DrissionPage API
ChromiumPage()
page.get()
page.ele()
page.eles()
page.get_frame()
page.frame()
element.click()
element.input()
element.clear()
element.text
page.quit()
17 对象结构
ChromiumPage
│
├── ele()
│
├── eles()
│
└── frame()
│
├── ele()
└── eles()
元素对象:
element.click()
element.input()
element.clear()
element.text
18 最小可运行示例
from DrissionPage import ChromiumPage
page = ChromiumPage()
page.get("https://example.com")
page.ele("xpath://input").input("test")
page.ele("xpath://button").click()
print(page.ele("xpath://h1").text)
page.quit()