xbot.web

概述

web接口主要是针对web网页的操作(Chrome网页、影刀内置浏览器网页),如打开网页、获取网页、激活网页、关闭网页等,同时还支持对网页上传/下载对话框的处理

详情

create

打开网页并返回网页对象

create(url, mode='cef', * , load_timeout=20)

参数

  • url:目标网址
  • mode:浏览器类型
    • 'cef':影刀浏览器
    • 'chrome':Google Chrome浏览器
    • 'ie': Internet Explorer浏览器
  • load_timeout:等待加载超时时间,默认超时时间20s,如果网页超时未加载完成则抛出UIAError异常
  • stop_if_timeout:网页加载超时时是否停止加载网页,默认是 False 不停止加载
  • arguments:命令行参数,必须是目标浏览器支持的命令行,可为空。 返回值

  • 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)

参数

  • title:标题
  • url:网址
  • mode:浏览器类型
    • 'cef':影刀浏览器
    • 'chrome':Google Chrome浏览器
    • 'ie': Internet Explorer浏览器
  • load_timeout:等待加载超时时间,默认超时时间20s,如果网页超时未加载完成则抛出UIAError异常
  • use_wildcard:是否使用通配符方式匹配,默认为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)

参数

  • mode:浏览器类型
    • 'cef':影刀浏览器
    • 'chrome':Google Chrome浏览器
    • 'ie': Internet Explorer浏览器
  • load_timeout:等待加载超时时间, 默认超时时间20s, 如果网页超时未加载完成则抛出UIAError异常

返回值

  • 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')

参数

  • mode:浏览器类型
    • 'cef':影刀浏览器
    • 'chrome':Google Chrome浏览器
    • 'ie': Internet Explorer浏览器

返回值

  • List[WebBrowser]:返回网页对象列表

实列1

获取Chrome浏览器当前打开的全部网页对象

from xbot import web

def main(args):
    web_objects = web.get_all('chrome')

get_cookies

获取浏览器Cookie信息

get_cookies(mode='cef', * , url=None, name=None, domain=None, path=None)

参数

  • mode:浏览器类型
  • 'cef':影刀浏览器
  • 'chrome':Google Chrome浏览器
  • 'ie': Internet Explorer浏览器
  • url:根据是否与给定的 URL比如 'https://www.winrobot360.com'匹配, 筛选浏览器cookie(值为空则忽略 url筛选条件)
  • 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 = 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浏览器
    • 'ie': Internet Explorer浏览器
  • param task_kill, 是否终止浏览器进程, 默认False. 若为True,将强制结束指定的浏览器进程和由它启动的所有子进程 返回值

示例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,focus_timeout=600)

参数

  • file_folder:文件保存路径
  • dialog_result:点击下载对话框中按钮 'ok' 确认下载 'cancel' 取消下载
  • mode:浏览器类型
    • 'cef':影刀浏览器
    • 'chrome':Google Chrome浏览器
    • 'ie': Internet Explorer浏览器
  • file_name:保存文件名, 为None时自动为下载资源生成不重复的文件名
  • wait_appear_timeout:等待对话框出现超时时间, 默认20s, 如果下载对话框超时未出现则抛出UIAError的异常
  • focus_timeout:焦点超时时间(对话框出现和输入操作的间隔),默认600

返回值

示例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)

参数

  • filename:要上传文件完整路径
  • dialog_result:点击上传对话框中按钮 'ok',确认上传 'cancel',取消上传
  • mode:浏览器类型
    • 'cef':影刀浏览器
    • 'chrome':Google Chrome浏览器
    • 'ie': Internet Explorer浏览器
  • wait_appear_timeout:等待对话框出现超时时间, 默认20s, 如果下载对话框超时未出现则抛出UIAError的异常

返回值

示例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)
问题没有解决?去社区提问 all right reserved,powered by Gitbook

results matching ""

    No results matching ""