DrissionPage/docs/版本历史.md
2022-01-15 01:00:48 +08:00

244 lines
7.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# v2.3.0
- DriverPage 添加 forward() 方法
- DriverPage 的 close_current_tab() 改为 close_tabs(),可一次过关闭多个标签页
- DriverPage 添加 run_async_script()
- DriverPage 添加 timeouts 属性
- DriverPage 添加 set_timeouts() 方法
- DriverElement 添加 scroll_to() 方法,可在元素内滑动滚动条
- DriverOptions 添加 set_page_load_strategy() 方法
- ini 文件增加 page_load_strategy、set_window_rect、timeouts 三个属性
- 其它优化和问题修复
# v2.2.1
- 新增基于页面布局的相对定位方法 left()right()below()above()near()lefts()rights()belows()aboves()nears()
- 修改基于 DOM 的相对定位方法:删除 parents()方法parent 属性改为 parent()方法next 属性 改为 next() 方法prev 属性改为 prev() 方法nexts() 和 prevs()
方法改为返回多个对象
- 增加 after()before()afters()before() 等基于 DOM 的相对定位方法
- 定位语法增加 @@ 和 @@- 语法,用于同时匹配多个条件和排除条件
- 改进 ShadowRootElement 功能,现在在 shadow-root 下查找元素可用完全版的定位语法。
- DriverElement 的 after 和 before 属性改为 pseudo_after 和 pseudo_before
- DriverElement 的 input() 增加 timeout 参数
- DriverElement 的 clear() 增加 insure_clear 参数
- 优化 DriverElement 的 submit() 方法
- DriverPage 增加 active_ele 属性,获取焦点所在元素
- DriverPage 的 get_style_property() 改名为 style()
- DriverPage 的 hover() 增加偏移量参数
- DriverPage 的 current_tab_num 改名为 current_tab_index
- DriverPage 的 to_frame() 方法返回页面对象自己,便于链式操作
- 优化自动下载 driver 逻辑
- set_paths() 增加 local_port 参数
- 默认使用 9222 端口启动浏览器
- 其它优化和问题修复
# v2.0.0
- 支持从 DriverElement 或 html 文本生成 SessionElement可把 d 模式的页面信息爬取速度提高几个数量级(使用新增的 s_ele() 和 s_eles() 方法)
- 支持随时隐藏和显示浏览器进程窗口(只支持 Windows 系统)
- s 模式和 d 模式使用相同的提取文本逻辑d 模式提取文本效率大增
- input() 能自动检测以确保输入成功
- click() 支持失败后不断重试,可用于确保点击成功及等待页面遮罩层消失
- 对 linux 和 mac 系统路径问题做了修复
- download() 能更准确地获取文件名
- 其它稳定性和效率上的优化
# v1.11.7
- SessionOptions 增加 set_headers()
- 调整 MixPage 初始化参数
- click() 增加 timeout 参数,修改逻辑为在超时时间内不断重试点击。可用于监视遮罩层是否消失
- 处理 process_alert() 增加 timeout 参数
- 其他优化和问题修复
# v1.11.0
- set_property 属性改名为 set_prop
- 增加 prop()
- clear() 改用 selenium 原生
- 增加 r_click() 和 r_click_at()
- input() 返回 None
- 增加 input_txt()
# v1.10.0
- 优化启动浏览器的逻辑
- 用 debug 模式启动时可读取启动参数
- 完善 select 标签处理功能
- MixPage 类的 to_iframe() 改名为 to_frame()
- MixPage 类的 scroll_to() 增加 'half' 方式,滚动半页
- Drission 类增加 kill_browser() 方法
# v1.9.0
- 元素增加 click_at() 方法,支持点击偏移量
- download() 支持重试
- 元素 input() 允许接收组合键,如 ctrl+a
- 其它优化
# v1.8.0
- 添加 retry_times 和 retry_interval 属性,可统一指定重连次数
- 元素对象增加 raw_text 属性
- 元素查找字符串支持极简模式,用 x 表示 xpath、c 表示 css、t 表示 tag、tx 表示 text
- s 模式元素 text 尽量与 d 模式保持一致
- 其它完善和问题修复
# v1.7.7
- 创建 driver 时可自动下载 chromedriver.exe
- 修复获取不到 content-type 时会出现的问题
# v1.7.1
- d 模式如指定了调试端口,可自动启动浏览器进程并接入
- 去除对 cssselect 库依赖
- 提高查找元素效率
- 调整获取元素 xpath 和 css_path 逻辑
# v1.7.0
- 优化 cookies 相关逻辑
- MixPage 增加 get_cookies() 和 set_cookies() 方法
- 增加 SessionOptions 类
- 浏览文件 DriverElement 增加 remove_attr() 方法
- 修复 MixPage 初始化时 Session 导入 cookies 时的问题
- MixPage 的 close_other_tabs() 方法现在可以接收列表或元组以保留多个 tab
- 其它优化
# v1.6.1
- 增加 . 和 # 方式用于查找元素,相当于 @Class@id
- easy_set 增加识别 chrome 版本并自动下载匹配的 driver 功能
- 改进配置功能
- 修复 shadow-root 方面的问题
# v1.5.4
- 优化获取编码的逻辑
- 修复下载不能显示进度的问题
# v1.5.2
- 修复获取 html 时会把元素后面的文本节点带上的问题
- 修复获取编码可能出现的错误
- 优化 download() 和获取编码代码
# v1.5.1
- 修复获取编码可能出现的 bug
# v1.5.0
- s 模式使用 lxml 库代替 requests_html 库
- 可直接调用页面对象和元素对象获取下级元素element('@id=ele_id') 等价于element.ele('@id=ele_id')
- nexts()、prevs() 方法可获取文本节点
- 可获取伪元素属性及文本
- 元素对象增加 link 和 inner_html 属性
- 各种优化
# v1.4.0
- d 模式使用 js 通过 evaluate 方法处理 xpath放弃使用 selenium 原生的方法,以支持用 xpath 直接获取文本节点、元素属性
- d 模式增加支持用 xpath 获取元素文本、属性
- 优化和修复小问题
# v1.3.0
- 可与 selenium 代码无缝对接
- 下载功能支持 post 方式
- 元素添加 texts 属性,返回元素内每个文本节点内容
- s 模式增加支持用 xpath 获取元素文本、属性
# v1.2.1
- 优化修复网页编码逻辑
- download 函数优化获取文件名逻辑
- 优化 download() 获取文件大小逻辑
- 优化 MixPage 对象关闭 session 逻辑
# v1.2.0
- 增加对 shadow-root 的支持
- 增加自动重试连接功能
- MixPage 可直接接收配置
- 修复一些 bug
# v1.1.3
- 连接有关函数增加是否抛出异常参数
- session 模式判断编码优化
- driver 模式 check_page() 优化
- 修复 run_script() 遗漏 args 参数的问题
# v1.1.1
- 删除 get_tabs_sum() 和 get_tab_num() 函数,以属性 tabs_count 和 current_tab_num 代替
- 增加 current_tab_handle、tab_handles 属性
- to_tab() 和 close_other_tabs() 函数可接收 handle 值
- create_tab 可接收一个 url 在新标签页打开
- 其它优化和 bug 修复
# v1.1.0
- 元素对象增加 xpath 和 css path 路径属性
- 修复 driver 模式下元素对象用 css 方式不能获取直接子元素的问题selenium 的锅)
- session 模式下现在能通过 xpath 定位上级元素
- 优化 driver 模式兄弟元素、父级元素的获取效率
- 优化标签页处理功能
- 其它小优化和修复
# V1.0.5
- 修复切换模式时 url 出错的 bug
# V1.0.3
- DriverOptions 支持链式操作
- download 函数增加参数处理遇到已存在同名文件的情况,可选跳过、覆盖、自动重命名
- download 函数重命名调整为只需输入文件名,不带后缀名,输入带后缀名也可自动识别
# V1.0.1
- 增强拖拽功能和 chrome 设置功能
# V0.14.0
- Drission 类增加代理设置和修改
# V0.12.4
- click() 的 by_js 可接收 False
- 修复一些 bug
# V0.12.0
- 增加 tag:tagName@arg=val 查找元素方式
- MixPage 增加简易方式创建对象方式
# V0.11.0
- 完善 easy_set 的函数
- 元素增加多级定位函数
# v0.10.2
- 完善 attr 及 attrs 功能
# v0.10.1
- 增加 set_headless 以及 to_iframe 兼容全部原生参数
# v0.9.4
- 修复 bug
# v0.9.0
- 增加了元素拖拽和处理提示框功能
# v0.8.4
- 基本完成