page_operations

基础页面操作

本章节将介绍 DrissionPage 中的基础页面操作,包括如何打开网页、获取页面信息以及截图等功能。

打开网页

DrissionPage 提供了多种方式打开网页,最常用的是通过 get() 方法:

from DrissionPage import ChromiumPage

# 创建浏览器页面对象
page = ChromiumPage()

# 打开网页
page.get('https://www.example.com')

对于 SessionPage,操作方式类似:

from DrissionPage import SessionPage

# 创建会话页面对象
page = SessionPage()

# 打开网页
page.get('https://www.example.com')

WebPage 因为同时支持两种模式,所以可以在两种模式下使用相同的接口:

from DrissionPage import WebPage

# 创建网页对象(默认d模式,即驱动模式)
page = WebPage()

# 打开网页
page.get('https://www.example.com')

# 切换到s模式(会话模式)
page.change_mode()

# 同样的接口打开网页
page.get('https://www.example.com')

页面导航

DrissionPage 提供了常用的导航功能:

前进和后退

# 后退
page.back()

# 前进
page.forward()

刷新页面

page.refresh()

设置页面加载超时

# 设置页面加载超时时间为10秒
page.set.load_timeout(10)

获取页面信息

DrissionPage 允许你获取当前页面的各种信息:

获取页面标题

title = page.title
print(f'页面标题: {title}')

获取页面URL

url = page.url
print(f'当前URL: {url}')

获取页面源码

# 获取HTML源码
html = page.html
print(html[:100])  # 打印前100个字符

获取页面cookies

# 获取当前页面的所有cookies
cookies = page.cookies
print(cookies)

# 获取指定cookie
cookie_value = page.get_cookie('cookie_name')
print(cookie_value)

页面截图

在自动化测试或开发过程中,截图是一个非常有用的功能:

截取整个页面

# 截取整个可见页面并保存
page.screenshot('screenshot.png')

截取特定元素

# 查找元素
element = page.ele('#some-element')

# 截取特定元素
element.screenshot('element.png')

自定义截图区域

# 自定义截图区域 (x, y, width, height)
page.screenshot('custom.png', region=(100, 100, 500, 300))

执行JavaScript

在浏览器模式下,可以执行JavaScript代码:

# 执行JavaScript并获取返回值
result = page.run_js('return document.title')
print(result)

# 修改页面内容
page.run_js('document.getElementById("example").innerHTML = "Hello DrissionPage!"')

关闭页面

使用完页面后,应该正确关闭它:

# 关闭页面
page.close()

对于 ChromiumPage 和 WebPage 的驱动模式,这会关闭浏览器窗口。对于 SessionPage 和 WebPage 的会话模式,这会结束会话。

小结

通过本章节,我们学习了 DrissionPage 的基础页面操作,包括:

  • 打开网页
  • 页面导航(前进、后退、刷新)
  • 获取页面信息(标题、URL、源码、cookies)
  • 页面截图
  • 执行JavaScript
  • 关闭页面

这些基础操作是进行网页自动化的第一步,掌握这些操作后,我们可以进一步学习如何查找和操作页面上的元素。

使用 Hugo 构建
主题 StackJimmy 设计