概述

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浏览器打开 百度

  1. from xbot import web
  2. def main(args):
  3. 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浏览器中查找标题开头为 百度 的网页对象

  1. from xbot import web
  2. def main(args):
  3. web_object = web.get('百度', None, 'chrome', load_timeout=20, use_wildcard=False)

示例2:
使用通配符在Chrome浏览器中查找标题开头为 百度 的网页对象

  1. from xbot import web
  2. def main(args):
  3. 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浏览器当前激活的网页对象

  1. from xbot import web
  2. def main(args):
  3. 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浏览器当前打开的全部网页对象

  1. from xbot import web
  2. def main(args):
  3. 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信息

  1. from xbot import web
  2. def main(args):
  3. get_explorer_cookie('cef')
  4. # get_explorer_cookie('chrome')
  5. # get_explorer_cookie('ie')
  6. pass
  7. def get_explorer_cookie(mode):
  8. # 获取浏览器 cookie
  9. cookie_list = xbot.web.get_cookies(mode)
  10. print(cookie_list)
  11. i = 0
  12. for cookie in cookie_list:
  13. print(i)
  14. print(cookie['name'] + ' '+cookie['value'])
  15. i += 1

close_all

关闭所有网页

close_all(mode=’cef’)
参数:

  • mode:浏览器类型
    • ‘cef’:影刀浏览器
    • ‘chrome’:Google Chrome浏览器

返回值:

示例1:
关闭Chroem浏览器当前打开的全部网页

  1. from xbot import web
  2. def main(args):
  3. 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盘根目录下

  1. from xbot import web
  2. def main(args):
  3. 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 文件

  1. from xbot import web
  2. def main(args):
  3. web.handle_upload_dialog('D:\\123.txt', 'ok', 'chrome', wait_appear_timeout=20)