mirror of
https://gitee.com/g1879/DrissionPage.git
synced 2024-12-10 04:00:23 +08:00
3.4 KiB
3.4 KiB
SessionPage
对象和WebPage
对象的 s 模式都能收发数据包,本节只介绍SessionPage
的创建,在WebPage
的章节再对其进行介绍。
✔️ SessionPage
初始化参数
SessionPage
对象是 3 种页面对象中最简单的。
初始化参数 | 类型 | 默认值 | 说明 |
---|---|---|---|
session_or_options |
Session SessionOptions |
None |
传入Session 对象时使用该对象收发数据包;传入SessionOptions 对象时用该配置创建Session 对象 |
timeout |
float |
None |
连接超时时间,为None 则从配置文件中读取 |
✔️ 直接创建
这种方式代码最简洁,程序会从配置文件中读取配置,自动生成页面对象。
from DrissionPage import SessionPage
page = SessionPage()
SessionPage
无须控制浏览器,无须做任何配置即可使用。
!>注意:
这种方式的程序不能直接打包,因为使用到 ini 文件。可参考“打包程序”一节的方法。
✔️ 通过配置信息创建
如果须要在使用前进行一些配置,可使用SessionOptions
。它是专门用于设置Session
对象初始状态的类,内置了常用的配置。详细使用方法见“启动配置”一节。
📍 使用方法
在SessionPage
创建时,将已创建和设置好的SessionOptions
对象以参数形式传递进去即可。
初始化参数 | 类型 | 默认值 | 说明 |
---|---|---|---|
read_file |
bool |
True |
是否从 ini 文件中读取配置信息 |
ini_path |
str |
None |
文件路径,为None 则读取默认 ini 文件 |
!>注意:
Session
对象创建后再修改这个配置是没有效果的。
# 导入 SessionOptions
from DrissionPage import SessionPage, SessionOptions
proxies = {'http': 'http://127.0.0.1:1080',
'https': 'http://127.0.0.1:1080'}
# 创建配置对象,并设置代理信息
so = SessionOptions().set_proxies(proxies)
# 用该配置创建页面对象
page = SessionPage(session_or_options=so)
?>Tips:
您可以把配置保存到配置文件以后自动读取,详见”启动配置“章节。
📍 从指定 ini 文件创建
以上方法是使用默认 ini 文件中保存的配置信息创建对象,你可以保存一个 ini 文件到别的地方,并在创建对象时指定使用它。
from DrissionPage import SessionPage, SessionOptinos
# 创建配置对象时指定要读取的ini文件路径
so = SessionOptinos(ini_path=r'./config1.ini')
# 使用该配置对象创建页面
page = SessionPage(session_or_options=so)
✔️ 传递控制权
当须要使用多个页面对象共同操作一个页面时,可在页面对象创建时接收另一个页面间对象传递过来的Session
对象,以达到多个页面对象同时使用一个Session
对象的效果。
# 创建一个页面
page1 = SessionPage()
# 获取页面对象内置的Session对象
session = page1.session
# 在第二个页面对象初始化时传递该对象
page2 = SessionPage(session_or_options=session)