🛸 模式切换
本节介绍WebPage
的模式切换功能。
WebPage
的 d 模式,行为与ChromiumPage
一致,s 模式行为与SessionPage
一致。
使用change_mode()
方法进行切换。模式切换的时候会同步登录信息。
✅️️ mode
类型:str
此属性返回WebPage
当前模式。
示例:
输出:
✅️️ change_mode()
此方法用于切换WebPage
运行模式。
参数名称 | 类型 | 默认值 | 说明 |
---|---|---|---|
mode |
str None |
None |
接收 's' 或 'd',以切换到指定模式 接收 None 则切换到与当前相对的另一个模式 |
go |
bool |
True |
目标模式是否跳转到原模式的 url |
copy_cookies |
bool |
True |
切换时是否复制 cookies 到目标模式 |
返回:None
✅️️ 跨模式使用功能
有些功能是 d 模式独有,如click()
,有些则是 s 模式独有,如post()
。
事实上,无论处于哪种模式,另一种模式的连接依然存在。因此,在 s 模式调用点击浏览器元素,是完全可以的,两者并不冲突。
这样的设计让使用非常灵活,如要同步登录状态,只需切换模式,或传递 cookies 即可。
📌 cookies_to_session()
此方法用于复制浏览器当前页面的 cookies 到Session
对象。
参数名称 | 类型 | 默认值 | 说明 |
---|---|---|---|
copy_user_agent |
bool |
True |
是否复制 user agent 信息 |
返回:None
📌 cookies_to_browser()
此方法用于把Session
对象的 cookies 复制到浏览器。
✅️️ 示例
📌 切换模式
from DrissionPage import WebPage
page = WebPage()
page.get('https://www.baidu.com')
print(page.mode)
page.change_mode()
print(page.mode)
print(page.title)
输出:
本示例中,执行操作如下:
-
初始d 模式访问百度
-
切换到 s 模式,此时会同步登录信息到 s 模式,且在 s 模式访问百度
-
打印 s 模式访问到的页面标题