mirror of
https://gitee.com/g1879/DrissionPage.git
synced 2024-12-10 04:00:23 +08:00
修改文档
This commit is contained in:
parent
cb79c1b6c2
commit
5c20c0989d
@ -56,7 +56,7 @@ ac = ActionChains(page)
|
||||
| `offset_y` | `int` | 0 | y 轴偏移量,向下为正,向上为负 |
|
||||
|
||||
| 返回类型 | 说明 |
|
||||
| -------------- | ------- |
|
||||
|:--------------:| ------- |
|
||||
| `ActionChains` | 动作链对象本身 |
|
||||
|
||||
**示例:** 使鼠标移动到 ele 元素上
|
||||
@ -76,7 +76,7 @@ ac.move_to(ele_or_loc=ele)
|
||||
| `offset_y` | `int` | 0 | y 轴偏移量,向下为正,向上为负 |
|
||||
|
||||
| 返回类型 | 说明 |
|
||||
| -------------- | ------- |
|
||||
|:--------------:| ------- |
|
||||
| `ActionChains` | 动作链对象本身 |
|
||||
|
||||
**示例:** 鼠标向右移动 300 像素
|
||||
@ -94,7 +94,7 @@ ac.move(300, 0)
|
||||
| `pixel` | `int` | 无 | 鼠标移动的像素值 |
|
||||
|
||||
| 返回类型 | 说明 |
|
||||
| -------------- | ------- |
|
||||
|:--------------:| ------- |
|
||||
| `ActionChains` | 动作链对象本身 |
|
||||
|
||||
**示例:** 鼠标向上移动 50 像素
|
||||
@ -112,7 +112,7 @@ ac.up(50)
|
||||
| `pixel` | `int` | 无 | 鼠标移动的像素值 |
|
||||
|
||||
| 返回类型 | 说明 |
|
||||
| -------------- | ------- |
|
||||
|:--------------:| ------- |
|
||||
| `ActionChains` | 动作链对象本身 |
|
||||
|
||||
**示例:**
|
||||
@ -130,7 +130,7 @@ ac.down(50)
|
||||
| `pixel` | `int` | 无 | 鼠标移动的像素值 |
|
||||
|
||||
| 返回类型 | 说明 |
|
||||
| -------------- | ------- |
|
||||
|:--------------:| ------- |
|
||||
| `ActionChains` | 动作链对象本身 |
|
||||
|
||||
**示例:**
|
||||
@ -148,7 +148,7 @@ ac.left(50)
|
||||
| `pixel` | `int` | 无 | 鼠标移动的像素值 |
|
||||
|
||||
| 返回类型 | 说明 |
|
||||
| -------------- | ------- |
|
||||
|:--------------:| ------- |
|
||||
| `ActionChains` | 动作链对象本身 |
|
||||
|
||||
**示例:**
|
||||
@ -168,7 +168,7 @@ ac.right(50)
|
||||
| `on_ele` | `ChromiumElement`<br>`str` | `None` | 要点击的元素对象或文本定位符 |
|
||||
|
||||
| 返回类型 | 说明 |
|
||||
| -------------- | ------- |
|
||||
|:--------------:| ------- |
|
||||
| `ActionChains` | 动作链对象本身 |
|
||||
|
||||
**示例:**
|
||||
@ -186,7 +186,7 @@ ac.click('#div1')
|
||||
| `on_ele` | `ChromiumElement`<br>`str` | `None` | 要点击的元素对象或文本定位符 |
|
||||
|
||||
| 返回类型 | 说明 |
|
||||
| -------------- | ------- |
|
||||
|:--------------:| ------- |
|
||||
| `ActionChains` | 动作链对象本身 |
|
||||
|
||||
**示例:**
|
||||
@ -204,7 +204,7 @@ ac.r_click('#div1')
|
||||
| `on_ele` | `ChromiumElement`<br>`str` | `None` | 要点击的元素对象或文本定位符 |
|
||||
|
||||
| 返回类型 | 说明 |
|
||||
| -------------- | ------- |
|
||||
|:--------------:| ------- |
|
||||
| `ActionChains` | 动作链对象本身 |
|
||||
|
||||
**示例:**
|
||||
@ -222,7 +222,7 @@ ac.m_click('#div1')
|
||||
| `on_ele` | `ChromiumElement`<br>`str` | `None` | 要按住的元素对象或文本定位符 |
|
||||
|
||||
| 返回类型 | 说明 |
|
||||
| -------------- | ------- |
|
||||
|:--------------:| ------- |
|
||||
| `ActionChains` | 动作链对象本身 |
|
||||
|
||||
**示例:**
|
||||
@ -240,7 +240,7 @@ ac.hold('#div1')
|
||||
| `on_ele` | `ChromiumElement`<br>`str` | `None` | 要释放的元素对象或文本定位符 |
|
||||
|
||||
| 返回类型 | 说明 |
|
||||
| -------------- | ------- |
|
||||
|:--------------:| ------- |
|
||||
| `ActionChains` | 动作链对象本身 |
|
||||
|
||||
**示例:** 移动到某元素上然后释放鼠标左键
|
||||
@ -258,7 +258,7 @@ ac.release('#div1')
|
||||
| `on_ele` | `ChromiumElement`<br>`str` | `None` | 要按住的元素对象或文本定位符 |
|
||||
|
||||
| 返回类型 | 说明 |
|
||||
| -------------- | ------- |
|
||||
|:--------------:| ------- |
|
||||
| `ActionChains` | 动作链对象本身 |
|
||||
|
||||
## 📍 `r_release()`
|
||||
@ -270,7 +270,7 @@ ac.release('#div1')
|
||||
| `on_ele` | `ChromiumElement`<br>`str` | `None` | 要释放的元素对象或文本定位符 |
|
||||
|
||||
| 返回类型 | 说明 |
|
||||
| -------------- | ------- |
|
||||
|:--------------:| ------- |
|
||||
| `ActionChains` | 动作链对象本身 |
|
||||
|
||||
## 📍 `m_hold()`
|
||||
@ -282,7 +282,7 @@ ac.release('#div1')
|
||||
| `on_ele` | `ChromiumElement`<br>`str` | `None` | 要按住的元素对象或文本定位符 |
|
||||
|
||||
| 返回类型 | 说明 |
|
||||
| -------------- | ------- |
|
||||
|:--------------:| ------- |
|
||||
| `ActionChains` | 动作链对象本身 |
|
||||
|
||||
## 📍 `m_release()`
|
||||
@ -294,7 +294,7 @@ ac.release('#div1')
|
||||
| `on_ele` | `ChromiumElement`<br>`str` | `None` | 要释放的元素对象或文本定位符 |
|
||||
|
||||
| 类型 | 说明 |
|
||||
| -------------- | ------- |
|
||||
|:--------------:| ------- |
|
||||
| `ActionChains` | 动作链对象本身 |
|
||||
|
||||
# ✔ 滚动滚轮
|
||||
@ -310,7 +310,7 @@ ac.release('#div1')
|
||||
| `on_ele` | `ChromiumElement`<br>`str` | `None` | 要滚动的元素对象或文本定位符 |
|
||||
|
||||
| 返回类型 | 说明 |
|
||||
| -------------- | ------- |
|
||||
|:--------------:| ------- |
|
||||
| `ActionChains` | 动作链对象本身 |
|
||||
|
||||
# ✔ 键盘按键
|
||||
@ -324,7 +324,7 @@ ac.release('#div1')
|
||||
| `key` | `str` | 无 | 按键键值 |
|
||||
|
||||
| 返回类型 | 说明 |
|
||||
| -------------- | ------- |
|
||||
|:--------------:| ------- |
|
||||
| `ActionChains` | 动作链对象本身 |
|
||||
|
||||
**示例:** 按下 ctrl 键
|
||||
@ -344,7 +344,7 @@ ac.key_down(Keys.CTRL)
|
||||
| `key` | `str` | 无 | 按键键值 |
|
||||
|
||||
| 返回类型 | 说明 |
|
||||
| -------------- | ------- |
|
||||
|:--------------:| ------- |
|
||||
| `ActionChains` | 动作链对象本身 |
|
||||
|
||||
**示例:** 提起 ctrl 键
|
||||
@ -364,7 +364,7 @@ ac.key_up(Keys.CTRL)
|
||||
| `text` | `str` | 无 | 要输入的文本 |
|
||||
|
||||
| 返回类型 | 说明 |
|
||||
| -------------- | ------- |
|
||||
|:--------------:| ------- |
|
||||
| `ActionChains` | 动作链对象本身 |
|
||||
|
||||
**示例:**
|
||||
@ -384,7 +384,7 @@ ac.type('text')
|
||||
| `second` | `float` | 无 | 等待秒数 |
|
||||
|
||||
| 返回类型 | 说明 |
|
||||
| -------------- | ------- |
|
||||
|:--------------:| ------- |
|
||||
| `ActionChains` | 动作链对象本身 |
|
||||
|
||||
**示例:** 停顿 3 秒
|
||||
|
@ -1,24 +1,27 @@
|
||||
本节介绍如果访问网页。
|
||||
本节介绍如何访问网页。
|
||||
|
||||
# ✔️ d 模式
|
||||
# ✔️ 浏览器访问网页
|
||||
|
||||
d 模式下使用`get()`方法访问网页。
|
||||
`ChromiumPage`和`WebPage`的 d 模式用于控制浏览器,使用`get()`方法访问网页。
|
||||
|
||||
## 📍 `get()`方法
|
||||
|
||||
该方法用于跳转到一个网址。
|
||||
当连接失败时,程序默认重试 3 次,每次间隔 2 秒,可以通过参数设置重试次数和间隔。
|
||||
d 模式下根据浏览器的状态,还可以通过重写`check_page()`方法实现自定义检查方式。
|
||||
|
||||
**参数:**
|
||||
| 参数名称 | 类型 | 默认值 | 说明 |
|
||||
|:-------------:|:-------:|:-------:| --------------------------- |
|
||||
| `url` | `str` | 无 | 目标url |
|
||||
| `show_errmsg` | `bool` | `False` | 连接出错时是否显示和抛出异常 |
|
||||
| `retry` | `int` | `None` | 重试次数,为`None`时使用页面参数,默认 3 |
|
||||
| `interval` | `float` | `None` | 重试间隔(秒),为`None`时使用页面参数,默认 2 |
|
||||
| `timeout` | `float` | `None` | 加载超时时间(秒) |
|
||||
|
||||
- `url`:目标 url
|
||||
- `show_errmsg`:是否显示和抛出异常。默认不抛出,连接错误会返回`None`
|
||||
- `retry`:重试次数,与页面对象的设置一致,默认 3 次
|
||||
- `interval`:重试间隔(秒),与页面对象的设置一致,默认 2 秒
|
||||
- `timeout`:连接超时时间(秒)
|
||||
| 返回类型 | 说明 |
|
||||
|:------:| ----- |
|
||||
| `bool` | 否连接成功 |
|
||||
|
||||
**返回:**`bool`类型,表示是否连接成功
|
||||
**示例:**
|
||||
|
||||
```python
|
||||
from DrissionPage import WebPage
|
||||
@ -29,7 +32,7 @@ page.get('https://www.baidu.com')
|
||||
|
||||
## 📍 设置超时时间和重试参数
|
||||
|
||||
网络不稳定的时候访问页面不一定成功,`get()`方法内置了超时和重试功能。通过`retry`、`interval`、`timeout`三个参数进行设置。
|
||||
网络不稳定时访问页面不一定成功,`get()`方法内置了超时和重试功能。通过`retry`、`interval`、`timeout`三个参数进行设置。
|
||||
其中,如不指定`timeout`参数,该参数会使用`WebPage`的`timeouts`属性的`page_load`参数中的值。
|
||||
|
||||
```python
|
||||
@ -58,27 +61,29 @@ page = WebPage()
|
||||
page.set_page_load_strategy()
|
||||
```
|
||||
|
||||
# ✔️ s 模式
|
||||
# ✔️ 数据包访问网页
|
||||
|
||||
s 模式基于 requests,因此可使用 requests 内置的所有请求方式,包括`get()`、`post()`、`head()`、`options()`、`put()`、`patch()`、`delete()`
|
||||
。不过本库目前只对`get()`和`post()`做了封装和优化,其余方式可通过调用`WebPage`内置的`Session`对象使用。
|
||||
`SessionPage`和`WebPage`的 s 模式基于 requests,因此可使用 requests 内置的所有请求方式,包括`get()`、`post()`、`head()`、`options()`、`put()`、`patch()`、`delete()`
|
||||
。不过本库目前只对`get()`和`post()`做了封装和优化,其余方式可通过调用页面对象内置的`Session`对象调用。
|
||||
|
||||
## 📍 `get()`方法
|
||||
|
||||
`get()`方法使用语法与 requests 的`get()`方法一致,在此基础上增加了重试设置参数。
|
||||
|
||||
参数:
|
||||
| 参数名称 | 类型 | 默认值 | 说明 |
|
||||
|:-------------:|:-------:|:-------:| --------------------------- |
|
||||
| `url` | `str` | 无 | 目标url |
|
||||
| `show_errmsg` | `bool` | `False` | 连接出错时是否显示和抛出异常 |
|
||||
| `retry` | `int` | `None` | 重试次数,为`None`时使用页面参数,默认 3 |
|
||||
| `interval` | `float` | `None` | 重试间隔(秒),为`None`时使用页面参数,默认 2 |
|
||||
| `timeout` | `float` | `None` | 加载超时时间(秒) |
|
||||
| `**kwargs` | - | `None` | 连接所需其它参数,具体见 requests 用法 |
|
||||
|
||||
- `url`:目标 url
|
||||
- `show_errmsg`:是否显示和抛出异常,默认不抛出,连接错误会返回`None`
|
||||
- `retry`:重试次数,与页面对象的设置一致,默认 3 次
|
||||
- `interval`:重试间隔(秒),与页面对象的设置一致,默认 2 秒
|
||||
- `timeout`:连接超时时间(秒)
|
||||
- `**kwargs`:连接参数,具体见 requests 用法
|
||||
| 返回类型 | 说明 |
|
||||
|:------:| ----- |
|
||||
| `bool` | 否连接成功 |
|
||||
|
||||
返回:`bool`类型,表示是否连接成功,根据`Response`对象的`status_code`参数决定
|
||||
|
||||
s 模式的`**kwargs`参数与 requests 中该参数使用方法一致,但有一个特点,如果该参数中设置了某一项(如`headers`),该项中的每个项会覆盖从配置中读取的同名项,而不会整个覆盖。
|
||||
`**kwargs`参数与 requests 中该参数使用方法一致,但有一个特点,如果该参数中设置了某一项(如`headers`),该项中的每个项会覆盖从配置中读取的同名项,而不会整个覆盖。
|
||||
就是说,如果想继续使用配置中的`headers`信息,而只想修改其中一项,只需要传入该项的值即可。这样可以简化代码逻辑。
|
||||
与 requests 不一样,`get()`方法不返回`Response`对象以获取结果,处理返回结果的方式详见后面章节。
|
||||
|
||||
@ -105,15 +110,20 @@ page.get(url, headers=headers, cookies=cookies, proxies=proxies)
|
||||
|
||||
此方法是用 post 方式请求页面。用法与`get()`一致。调用时,`WebPage`对象会自动切换到 s 模式。
|
||||
|
||||
参数:
|
||||
| 参数名称 | 类型 | 默认值 | 说明 |
|
||||
|:-------------:|:---------------:|:-------:| --------------------------- |
|
||||
| `url` | `str` | 无 | 目标url |
|
||||
| `data` | `dict`<br>`str` | `None` | 提交的数据 |
|
||||
| `json` | `dict`<br>`str` | `None` | 提交的数据 |
|
||||
| `show_errmsg` | `bool` | `False` | 连接出错时是否显示和抛出异常 |
|
||||
| `retry` | `int` | `None` | 重试次数,为`None`时使用页面参数,默认 3 |
|
||||
| `interval` | `float` | `None` | 重试间隔(秒),为`None`时使用页面参数,默认 2 |
|
||||
| `timeout` | `float` | `None` | 加载超时时间(秒) |
|
||||
| `**kwargs` | - | `None` | 连接所需其它参数,具体见 requests 用法 |
|
||||
|
||||
- `url`:目标 url
|
||||
- `data`:提交的数据,可以是`dict`或`str`类型
|
||||
- `json`:提交的数据,可以是`dict`或`str`类型
|
||||
- `show_errmsg`:是否显示和抛出异常,默认不抛出,连接错误会返回`None`
|
||||
- `retry`:重试次数,与页面对象的设置一致,默认 3 次
|
||||
- `interval`:重试间隔(秒),与页面对象的设置一致,默认 2 秒
|
||||
- `**kwargs`:连接参数,具体见 requests 用法
|
||||
| 返回类型 | 说明 |
|
||||
|:------:| ----- |
|
||||
| `bool` | 否连接成功 |
|
||||
|
||||
```python
|
||||
from DrissionPage import WebPage
|
||||
|
@ -9,14 +9,16 @@
|
||||
- 根据 DOM 结构相对定位
|
||||
- 根据页面布局位置相对定位
|
||||
|
||||
d 模式的元素还有专门用于处理 shadow dom 的`shadow_root`属性。获取到的元素可继续用这些方法获取后代元素,使用方法和普通元素一致。
|
||||
浏览器的元素还有专门用于处理 shadow dom 的`shadow_root`属性。获取到的元素可继续用这些方法获取后代元素,使用方法和普通元素一致。
|
||||
|
||||
# ✔️ 示例
|
||||
|
||||
先看一些示例,感性认识一下,后面在详细讲解用法。
|
||||
先看一些示例,后面在详细讲解用法。
|
||||
|
||||
## 📍 简单示例
|
||||
|
||||
假设有这样一个页面:
|
||||
|
||||
```html
|
||||
<html>
|
||||
<body>
|
||||
@ -32,7 +34,7 @@ d 模式的元素还有专门用于处理 shadow dom 的`shadow_root`属性。
|
||||
</html>
|
||||
```
|
||||
|
||||
假设 page 为以上页面的`WebPage`对象,我们可以用这些方法获取其中的元素:
|
||||
我们用页面对象去获取其中的元素:
|
||||
|
||||
```python
|
||||
# 获取 id 为 one 的元素
|
||||
@ -90,7 +92,7 @@ for i in titles:
|
||||
智能硬件
|
||||
IOT/物联网/边缘计算
|
||||
车载应用
|
||||
以下省略……
|
||||
……
|
||||
"""
|
||||
```
|
||||
|
||||
|
@ -198,7 +198,7 @@ page.download_set.by_browser()
|
||||
| `timeout` | `int`<br>`float` | `None` | 等待下载开始的超时时间,为`None`则使用页面对象`timeout`属性 |
|
||||
|
||||
| 返回类型 | 说明 |
|
||||
| ------ | -------- |
|
||||
|:------:| -------- |
|
||||
| `bool` | 是否等到下载开始 |
|
||||
|
||||
**示例:**
|
||||
@ -371,9 +371,7 @@ xxx.pdf
|
||||
|
||||
!>**注意:**<br>这个方式在多线程下载时要慎用,万一多个任务下载多个同名文件,会导致互相覆盖的现象。
|
||||
|
||||
?>**Tips:**<br>除了整体设置,还可以在创建任务时单独设置该任务的处理方式。
|
||||
|
||||
?>**Tips:**<br>文件名如遇到`'?'`、`'\'`等非法字符,会自动替换为空格。
|
||||
?>**Tips:**<br>- 除了整体设置,还可以在创建任务时单独设置该任务的处理方式。<br>- 文件名如遇到`'?'`、`'\'`等非法字符,会自动替换为空格。
|
||||
|
||||
## 📍 设置大文件是否分块
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user