概述
web接口主要是针对web网页的操作(Chrome网页、影刀内置浏览器网页),如打开网页、获取网页、激活网页、关闭网页等,同时还支持对网页上传/下载对话框的处理
详情
create
打开网页并返回网页对象
create(url, mode=’cef’, *, load_timeout=20, stop_if_timeout=False, arguments=None)
参数:
- url:目标网址
- mode:浏览器类型
- ‘cef’:影刀浏览器
- ‘chrome’:Google Chrome浏览器
- load_timeout:等待加载超时时间,默认超时时间20s,如果网页超时未加载完成则抛出
UIAError
异常 - stop_if_timeout:网页加载超时时是否停止加载网页,默认是
False
不停止加载 - arguments:命令行参数,必须是Chrome支持的命令行,参数格式如: —incognito,可为空,仅创建Chrome时使用
返回值:
WebBrowser
:返回打开的网页对象
示例1:
使用Chrome浏览器打开 百度
from xbot import web
def main(args):
web_object = web.create('www.baidu.com', 'chrome', load_timeout=20)
get
根据网址或标题获取网页,默认模糊匹配,如果use_wildcard为True则使用通配符方式匹配 若匹配到多个网页,返回最新打开的网页
get(title=None, url=None, mode=’cef’, *, load_timeout=20, use_wildcard=False, stop_if_timeout=False)
参数:
- title:标题
- url:网址
- ‘cef’:影刀浏览器
- ‘chrome’:Google Chrome浏览器
- load_timeout:等待加载超时时间,默认超时时间20s,如果网页超时未加载完成则抛出
UIAError
异常 - use_wildcard,是否使用通配符方式匹配,默认为
False
- stop_if_timeout:网页加载超时时是否停止加载网页,默认是
False
不停止加载
返回值:
WebBrowser
:返回获取到的网页对象
示例1:
使用模糊匹配在Chrome浏览器中查找标题开头为 百度 的网页对象
from xbot import web
def main(args):
web_object = web.get('百度', None, 'chrome', load_timeout=20, use_wildcard=False)
示例2:
使用通配符在Chrome浏览器中查找标题开头为 百度 的网页对象
from xbot import web
def main(args):
web_object = web.get('百度*', None, 'chrome', load_timeout=20, use_wildcard=True)
get_active
获取当前选中或激活的网页
get_active(mode=’cef’, *, load_timeout=20, stop_if_timeout=False)
参数:
- mode:浏览器类型
- ‘cef’:影刀浏览器
- ‘chrome’:Google Chrome浏览器
- load_timeout:等待加载超时时间, 默认超时时间20s, 如果网页超时未加载完成则抛出
UIAError
异常 - stop_if_timeout:网页加载超时时是否停止加载网页,默认是
False
不停止加载
返回值:
WebBrowser
:返回获取到的网页对象
示例1:
获取Chrome浏览器当前激活的网页对象
from xbot import web
def main(args):
web_object = web.get_active('chrome', load_timeout=20)
get_all
获取所有网页
get_all(mode=’cef’, *, title=None, url=None, use_wildcard=False)
参数:
- mode:浏览器类型
- ‘cef’:影刀浏览器
- ‘chrome’:Google Chrome浏览器
- title:标题
- url:网址
- use_wildcard:是否使用通配符方式匹配, 默认为
False
返回值:
List[WebBrowser]
:返回网页对象列表
实列1:
获取Chrome浏览器当前打开的全部网页对象
from xbot import web
def main(args):
web_objects = web.get_all('chrome')
get_cookies
获取浏览器Cookie信息
getcookies(url, mode=’cef’, *, name=None, domain=None, path=None_)
参数:
- url:根据是否与给定的 URL,比如 ‘https://www.winrobot360.com'匹配, 筛选浏览器cookie(值为空则忽略 url筛选条件)
- mode:浏览器类型
- ‘cef’:影刀浏览器
- ‘chrome’:Google Chrome浏览器
- ‘ie’: Internet Explorer浏览器
- name:根据是否与给定的 name匹配, 筛选cookie(值为空则忽略 name筛选条件)
- domain:根据是否完全与给定的 domain比如 ‘.winrobot360.com’匹配, 或是否是其的子域名, 筛选cookie(浏览器类型为IE或值为空则忽略 domain筛选条件)
- path:根据是否与给定的path比如 ‘/‘, 筛选cookie(浏览器类型为IE或值为空则忽略 path筛选条件)
返回值:
list[dict]
:返回筛选到的cookie列表, 列表项键包括’domain’、’expirationDate’、’name’、’value’、’httpOnly’…, 集合中的值可以通过比如 item[‘value’] 的方式获取
示例1:
获取chrome浏览器的cookie信息
from xbot import web
def main(args):
get_explorer_cookie('cef')
# get_explorer_cookie('chrome')
# get_explorer_cookie('ie')
pass
def get_explorer_cookie(mode):
# 获取浏览器 cookie
cookie_list = xbot.web.get_cookies(mode)
print(cookie_list)
i = 0
for cookie in cookie_list:
print(i)
print(cookie['name'] + ' '+cookie['value'])
i += 1
close_all
关闭所有网页
close_all(mode=’cef’)
参数:
- mode:浏览器类型
- ‘cef’:影刀浏览器
- ‘chrome’:Google Chrome浏览器
返回值:
- 无
示例1:
关闭Chroem浏览器当前打开的全部网页
from xbot import web
def main(args):
web.close_all('chrome')
handle_save_dialog
处理网页下载对话框
handle_save_dialog(file_folder, dialog_result=’ok’, mode=’cef’, *, file_name=None, wait_appear_timeout=20, clipboard_input= True, focus_timeout= 1000)
参数:
- file_folder:文件保存路径
- dialog_result:点击下载对话框中按钮 ‘ok’ 确认下载 ‘cancel’ 取消下载
- mode:浏览器类型
- ‘cef’:影刀浏览器
- ‘chrome’:Google Chrome浏览器
- file_name:保存文件名, 为None时自动为下载资源生成不重复的文件名
- wait_appear_timeout:等待对话框出现超时时间, 默认20s, 如果下载对话框超时未出现则抛出
UIAError
的异常 - clipboard_input:是否使用剪切板输入文件路径
- focus_timeout:焦点超时时间(获取焦点和输入操作的间隔),默认1000毫秒
返回值:
- 无
示例1:
在Chrome浏览器中处理下载对话框,并将目标目标文件重命名为 123.txt 并保存到D盘根目录下
from xbot import web
def main(args):
web.handle_save_dialog('D:\\', 'ok', 'chrome', file_name='123.txt', wait_appear_timeout=20)
handle_upload_dialog
处理网页上传对话框
handle_upload_dialog(filename, dialog_result=’ok’, mode=’cef’, *, wait_appear_timeout=20, clipboard_input= True, focus_timeout= 1000)
参数:
- filename:要上传文件完整路径
- dialog_result:点击上传对话框中按钮 ‘ok’,确认上传 ‘cancel’,取消上传
- mode:浏览器类型
- ‘cef’:影刀浏览器
- ‘chrome’:Google Chrome浏览器
- wait_appear_timeout:等待对话框出现超时时间, 默认20s, 如果下载对话框超时未出现则抛出
UIAError
的异常 - clipboard_input:将输入路径和文件名添加到剪切板, 通过Ctrl+V的方式将内容填写到下载对话框的文件名输入框中,避免输入法问题
- focus_timeout:设置对话框出现和输入操作的时间间隔,默认间隔1000ms
返回值:
- 无
示例1:
在Chrome浏览器中处理网页上传对话框,上传 D:\123.text 文件
from xbot import web
def main(args):
web.handle_upload_dialog('D:\\123.txt', 'ok', 'chrome', wait_appear_timeout=20)