4.3 KiB
本节介绍获取页面对象各种信息的属性和方法。
✔️ 两种模式共有属性
📍 url
此属性返回当前访问的 url。
📍 mode
此属性返回当前页面对象的模式,'s'
或'd'
。
📍 drission
此属性返回当前页面对象使用的Drission
对象。
📍 driver
此属性返回当前页面对象使用的WebDriver
对象。访问时会自动切换到 d 模式。
📍 session
此属性返回当前页面对象使用的Session
对象。访问时不会切换模式。
📍 cookies
此属性以dict
方式返回当前页面所使用的 cookies。
d 模式只返回当前标签页的 cookies,s 模式则只返回当前访问的 url 的cookies
。
📍 get_cookies()
此方法获取 cookies 并以 cookie 组成的list
形式返回。
参数:
as_dict
:是否以字典方式返回,为False
返回cookie
组成的list
all_domains
:是否返回所有域的cookies
,只有 s 模式下生效
返回:cookies
信息
from DrissionPage import MixPage
p = MixPage('s')
p.get('http://www.baidu.com')
p.get('http://gitee.com')
for i in p.get_cookies(as_dict=False, all_domains=True):
print(i)
输出:
{'domain': '.baidu.com', 'domain_specified': True, ......}
......
{'domain': 'gitee.com', 'domain_specified': False, ......}
......
📍 html
此属性返回当前页面 html 文本。
📍 title
此属性返回当前页面title
文本。
📍 timeout
s 模式下,此属性代表网络请求超时时间。
d 模式下,此属性为元素查找、点击、处理提示框等操作的超时时间。
默认为 10,可对其赋值。
# 创建 MixPage 对象时指定
page = MixPage(timeout=5)
# 修改 timeout
page.timeout = 20
📍 retry_times
此参数为网络连接失败时的重试次数。默认为 3,可对其赋值。
# 修改重试次数
page.retry_times = 5
📍 retry_interval
此参数为网络连接失败时的重试等待间隔秒数。默认为 2,可对其赋值。
# 修改重试等待间隔时间
page.retry_interval = 1.5
📍 url_available
此属性以布尔值返回当前链接是否可用。
s 模式下根据Response
对象的status_code
判断。
d 模式根据check_page()
方法返回值判断。
✔️ s 模式独有属性
📍 response
此属性为 s 模式请求网站后生成的Response
对象,本库没实现的功能可直接获取此属性调用 requests 库的原生功能。
# 打印连接状态
r = page.response
print(r.status_code)
📍 json
此属性把请求内容解析成 json。
比如请求接口时,返回内容是 json 格式,那就可以用这个属性获取。
事实上,用 html 属性获取也是可以的,不过 html 属性没有对文本进行解析。
✔️ d 模式独有属性
📍 timeouts
此属性以字典方式返回三种超时时间,selenium 4 以上版本可用。
'implicit'
用于元素查找、点击重试、输入文本重试、处理弹出框重试等;
'pageLoad'
用于等待页面加载;
'script'
用于等待脚本执行。
print(page.timeouts)
输出:
{'implicit': 10, 'pageLoad': 30.0, 'script': 30.0}
📍 tabs_count
此属性返回当前浏览器标签页数量。
📍 tab_handles
此属性以列表形式返回当前浏览器所有标签页的 handle。
!> 注意:
以下情况会导致获取到的顺序与视觉效果不一致:1、自动化过程中手动点击标签页;2、浏览器被接管时已打开一个以上标签页。
📍 current_tab_index
此属性返回当前标签页的序号。
!> 注意:
以下情况会导致获取到的排序号与视觉效果不一致:1、自动化过程中手动点击标签页;2、浏览器被接管时已打开一个以上标签页。
📍 current_tab_handle
此属性返回当前标签页的 handle。
📍 active_ele
此属性返回当前页面上焦点所在元素。类型为DriverElement
。
📍 wait_obj
此属性返回当前页面对象用于等待的对象。
📍 chrome_downloading()
此方法返回浏览器下载中的文件列表。
参数:
path:
下载文件夹路径,默认从配置信息读取
返回: 下载中的文件列表