# 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()