概述

browser接口主要是对网页的处理,如网页激活、获取网页标题、网页重新加载、取消网页加载等

详情


get_url

获取网址

get_url(self)
参数:

返回值:

  • str:返回网页地址

示例1:
获取当前激活网页的url地址

  1. from xbot import web
  2. def main(args):
  3. browser = web.get_active()
  4. url = browser.get_url()

get_title

获取标题

get_title(self)
参数:

返回值:

  • str:返回网页标题

示例1:
获取当前激活网页的标题

  1. from xbot import web
  2. def main(args):
  3. browser = web.get_active()
  4. title = browser.get_title()

get_text

获取网页的文本内容

get_text(self)
参数:

返回值:

  • str:返回网页文本内容

示例1:
获取当前激活网页的文本内容

  1. from xbot import web
  2. def main(args):
  3. browser = web.get_active()
  4. text = browser.get_text()

get_html

获取网页的html

get_html(self)
参数:

返回值:

  • str:返回网页的html

示例1:
获取当前激活网页的html

  1. from xbot import web
  2. def main(args):
  3. browser = web.get_active()
  4. html = browser.get_html()

get_cookies

获取网页Cookie信息

get_cookies(self, *, name=None, domain=None, path=None)
参数:

  • 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:
获取当前激活网页的cookie信息

  1. from xbot import web
  2. def main(args):
  3. get_borwser_cookie('cef')
  4. # get_borwser_cookie('chrome')
  5. # get_borwser_cookie('ie')
  6. pass
  7. def get_borwser_cookie(mode):
  8. browser = xbot.web.get_active(mode)
  9. cookie_list = browser.get_cookies(domain='www.baidu.com')
  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


activate

激活目标网页

activate(self)
参数:

返回值:

示例1:
激活标题为 百度 的网页

  1. from xbot import web
  2. def main(args):
  3. browser = web.get('百度', None, 'chrome')
  4. browser.activate()

navigate

跳转到新网页

navigate(self, url, *, load_timeout=20)
参数:

  • url:新网页地址
  • load_timeout:等待加载超时时间, 默认超时时间20s, 如果网页超时未加载完成则抛出UIAError异常

返回值:

示例1:
获取标题为 百度 的网页并将该网页跳转到 淘宝 网页

  1. from xbot import web
  2. def main(args):
  3. browser = web.get('百度', None, 'chrome')
  4. browser.navigate('www.taobao.com')

go_back

网页后退

go_back(self, *, load_timeout=20)
参数:

  • load_timeout:等待加载超时时间, 默认超时时间20s, 如果网页超时未加载完成则抛出UIAError异常

返回值:

示例1:
获取标题为 淘宝 的网页并后退

  1. from xbot import web
  2. def main(args):
  3. browser = web.get('淘宝', None, 'chrome')
  4. browser.go_back()

go_forward

网页前进

go_forward(self, *, load_timeout=20)
参数:

  • load_timeout:等待加载超时时间, 默认超时时间20s, 如果网页超时未加载完成则抛出UIAError异常

返回值:

示例1:
获取标题为 百度 的网页并前进

  1. from xbot import web
  2. def main(args):
  3. browser = web.get('百度', None, 'chrome')
  4. browser.go_forward()

reload

网页重新加载

reload(self, ignore_cache=False, *, load_timeout=20)
参数:

  • ignore_cache:是否忽略缓存,默认不忽略
  • load_timeout:等待加载超时时间, 默认超时时间20s, 如果网页超时未加载完成则抛出UIAError异常

返回值:

示例1:
获取标题为 百度 的网页不忽略缓存重新加载

  1. from xbot import web
  2. def main(args):
  3. browser = web.get('百度', None, 'chrome')
  4. browser.reload(True)


stop_load

网页停止加载

stop_load(self)
参数:

返回值:

示例1:
获取标题为 百度 的网页并停止加载

  1. from xbot import web
  2. def main(args):
  3. browser = web.get('百度', None, 'chrome')
  4. browser.stop_load()

is_load_completed

判断网页是否加载完成

is_load_completed(self)
参数:

返回值:

  • bool:返回网页是否加载完成,完成返回True,否则返回False

示例1:
获取标题为 百度 的网页并判断其是否加载完成

  1. from xbot import web
  2. def main(args):
  3. browser = web.get('百度', None, 'chrome')
  4. is_load_completed = browser.is_load_completed()


wait_load_completed

等待网页加载完成

wait_load_completed(self, timeout=20)
参数:

返回值:

示例1:
获取当前激活的窗口并等待其加载完成

  1. from xbot import web
  2. def main(args):
  3. browser = web.get_active()
  4. browser.wait_load_completed()

close

关闭网页
close(self)
参数:

返回值:

示例1:
获取当前激活的窗口并关闭

  1. from xbot import web
  2. def main(args):
  3. browser = web.get_active()
  4. browser.close()


execute_javascript

在网页元素上执行JS脚本
execute_javascript(self, code, argument=None)
参数:

  • code:要执行的JS脚本,必须为javascript函数形式
  • argument:要传入到JS函数中的参数,必须为字符串,如果需要传入其他类型可以先将其转为JSON字符串形式

返回值:

  • Any:返回JS脚本执行结果

示例1:
获取当前激活的网页,在此页面上执行一段JS函数并获取其返回值

  1. import xbot
  2. from xbot import print, sleep
  3. from .import package
  4. def main(args):
  5. page = web.get_active()
  6. code = """
  7. function (context, args) {
  8. // context为null
  9. // args表示输入的参数
  10. return "hello " + args;
  11. }
  12. """
  13. js_result = page.execute_javascript(code, 'james')
  14. print(js_result) # 打印'hello james'

scroll_to

鼠标滚动网页

scroll_to(self, *, location=’bottom’, behavior=’instant’, top=0, left=0)
参数:

  • location:网页要滚动到的位置, 默认滚动到底部
    • ‘bottom’:滚动到底部
    • ‘top’:滚动到顶部
    • ‘point’:滚动到指定位置
  • behavior:网页滚动效果, 默认瞬间滚动
    • ‘instant’:瞬间滚动
    • ‘smooth’:平滑滚动
  • top:滚动到指定位置的纵坐标
  • left:滚动到指定位置的横坐标

返回值:

示例1:
获取当前激活的网页并使用鼠标平滑滚动网页至底部

  1. from xbot import web
  2. def main(args):
  3. browser = web.get_active()
  4. browser.scroll_to(location='bottom', behavior='smooth')

示例2:
获取当前激活的网页并使用鼠标平滑滚动网页至 top:100,left:100 的位置

  1. from xbot import web
  2. def main(args):
  3. browser = web.get_active()
  4. browser.scroll_to(location='point', behavior='smooth', top=100, left=100)

handle_javascript_dialog

处理网页对话框

handle_javascript_dialog(self, dialog_result=’ok’, *, text=None, wait_appear_timeout=20)
参数:

  • dialog_result:网页对话框处理方式
    • ‘ok’:确定
    • ‘cancel’:取消
  • text:输入网页对话框的内容, 可为None
  • wait_appear_timeout:等待网页对话框出现, 默认超时时间20s, 如果网页超时未加载完成则抛出UIAError异常

返回值:

示例1:
处理当前网页的对话框,并将 helloword 填写到对话框中

  1. from xbot import web
  2. def main(args):
  3. browser = web.get_active()
  4. browser.handle_javascript_dialog('ok', text='helloword')

get_javascript_dialog_text

获取网页对话框内容(Chrome不支持此操作)

get_javascript_dialog_text(self, *, wait_appear_timeout=20)
参数:

  • wait_appear_timeout:等待网页对话框出现,默认超时时间20s,如网页超时未加载完成则抛出UIAError异常

返回值:

  • str:返回网页对话框的内容

示例1:
获取当前激活网页中的对话框内容

  1. from xbot import web
  2. def main(args):
  3. browser = web.get_active()
  4. content = browser.get_javascript_dialog_text()

start_monitor_network

开始监听网页请求(Chrome,ie不支持此操作)

start_monitor_network(self)
参数:

返回值:

示例1:
开始监听当前激活网页请求,进而获取请求结果,最后停止监听网页请求

  1. from xbot import web
  2. def main(args):
  3. browser = web.get_active()
  4. browser.start_monitor_network()
  5. browser.reload()
  6. network_result_list = browser.get_responses(url='baidu',use_wildcard=False, resource_type='All')
  7. browser.stop_monitor_network()

stop_monitor_network

停止监听网页请求(Chrome,ie不支持此操作)

stop_monitor_network(self)
参数:

返回值:

示例1:
开始监听当前激活网页请求,进而获取请求结果,最后停止监听网页请求

  1. from xbot import web
  2. def main(args):
  3. browser = web.get_active()
  4. browser.start_monitor_network()
  5. browser.reload()
  6. network_result_list = browser.get_responses(url='baidu',use_wildcard=False, resource_type='All')
  7. browser.stop_monitor_network()

get_responses

获取网页请求结果(Chrome,ie不支持此操作)

get_responses(self, *, url=None, use_wildcard=False, resource_type=’All’)
参数:

  • url:资源路径Url
  • use_wildcard:是否使用通配符方式匹配, 默认为False模糊匹配, 如果为True则使用通配符方式匹配
  • resource_type:要过滤的网页请求结果类型, 包括All, XHR, Script, Stylesheet, Image, Media, Font, Document, WebSocket, Manifest, TextTrack, Fetch, EventSource, Other

返回值:

  • list[dict]:返回获取到的网页请求结果列表, 列表项键包括’url’、’type’、’body’、’base64Encoded’,集合中的值可以通过比如 item[‘body’] 的方式获取”

示例1:
获取当前激活网页中的对话框内容

  1. from xbot import web
  2. def main(args):
  3. browser = web.get_active()
  4. browser.start_monitor_network()
  5. browser.reload()
  6. network_result_list = browser.get_responses(url='baidu',use_wildcard=False, resource_type='All')
  7. browser.stop_monitor_network()

wait_appear

等待网页元素出现

wait_appear(self, selector_or_element, timeout=20)
参数:

  • selector_or_element:要等待的目标元素, 支持以下格式:
    • 选择器名称:str类型
    • 选择器对象:Selector类型
    • Web元素对象:WebElement 类型
  • timeout:等待网页元素出现超时时间, 默认超时时间20s

返回值:

  • bool:返回网页元素是否出现,出现返回True,否则返回False

示例1:
等待当前激活的网页中出现与元素选择器 百度一下 匹配的网页元素

  1. from xbot import web
  2. def main(args):
  3. browser = web.get_active()
  4. is_appear = browser.wait_appear('百度一下')

wait_disappear

等待网页元素消失

wait_disappear(self, selector_or_element, timeout=20)
参数:

  • selector_or_element:要等待的目标元素, 支持以下格式:
    • 选择器名称:str类型
    • 选择器对象:Selector类型
    • Web元素对象:WebElement 类型
  • timeout:等待网页元素消失超时时间,默认超时时间20s

返回值:

  • bool:返回网页元素是否消失的结果,消失返回True,否则返回False

示例1:
等待当前激活的网页中与元素选择器 百度一下 匹配的网页元素消失

  1. from xbot import web
  2. def main(args):
  3. browser = web.get_active()
  4. is_disappear = browser.wait_disappear('百度一下')

find_all

在当前网页中获取与选择器匹配的相似网页元素列表

find_all(self, selector, *, timeout=20)
参数:

  • selector:要等待的目标元素, 支持以下格式:
    • 选择器名称:str类型
    • 选择器对象:Selector类型
  • timeout:获取网页相似元素列表超时时间,默认超时时间20s,匹配元素超时未找到则抛出UAIError异常

返回值:

  • List[WebElement]:返回和目标元素相似网页元素列表

示例1:
在当前激活的网页中获取与元素选择器 百度一下 匹配的所有元素的列表

  1. from xbot import web
  2. def main(args):
  3. browser = web.get_active()
  4. list_web_element = browser.find_all('百度一下')

find_all_by_css

在当前网页中获取符合CSS选择器的网页元素列表

find_all_by_css(self, css_selector, *, timeout=20)
参数:

  • css_selector:CSS选择器 (str)
  • timeout:获取网页相似元素列表超时时间, 默认超时时间20s, 匹配元素超时未找到则抛出UAIError异常

返回值:

  • List[WebElement]:返回相似网页元素列表

示例1:
在当前激活的网页中获取与CSS选择器 百度一下 匹配的全部网页元素列表

  1. from xbot import web
  2. def main(args):
  3. browser = web.get_active()
  4. list_web_element = browser.find_all_by_css('百度一下')

find_all_by_xpath

在当前网页中获取符合Xpath选择器的网页元素列表

find_all_by_xpath(self, xpath_selector, *, timeout=20)
参数:

  • xpath_selector:Xpath选择器 (str)
  • timeout:获取网页相似元素列表超时时间,默认超时时间20s,匹配元素超时未找到则抛出UAIError异常

返回值:

  • List[WebElement]:返回相似网页元素列表

示例1:
在当前激活的网页中获取与Xpath选择器 百度一下 匹配的全部网页元素集合

  1. from xbot import web
  2. def main(args):
  3. browser = web.get_active()
  4. list_web_element = browser.find_all_by_xpath('百度一下')

find

在当前网页中获取与选择器匹配的网页元素对象

find(self, selector, *, timeout=20)
参数:

  • selector:要等待的目标元素, 支持以下格式:
    • 选择器名称:str类型
    • 选择器对象:Selector类型
  • timeout:获取目标网页元素对象超时时间,默认超时时间20s,匹配元素超时未找到则抛出UAIError异常

返回值:

  • WebElement:返回目标网页元素对象

示例1:
在当前激活的网页中获取与元素选择器 百度一下 匹配的元素并返回第一个

  1. from xbot import web
  2. def main(args):
  3. browser = web.get_active()
  4. web_element = browser.find('百度一下')

find_by_css

在当前网页中获取符合CSS选择器的网页元素对象

find_by_css(self, css_selector, *, timeout=20)
参数:

  • css_selector:CSS选择器 (str)
  • timeout:以CSS选择器获取网页元素对象超时时间,默认超时时间20s,匹配元素超时未找到则抛出UAIError 异常

返回值:

  • WebElement:返回网页元素对象

示例1:
在当前激活的网页中获取符合CSS选择器 百度一下 的网页元素并返回第一个

  1. from xbot import web
  2. def main(args):
  3. browser = web.get_active()
  4. web_element = browser.find_by_css('百度一下')

find_by_xpath

在当前网页中获取符合Xpath选择器的网页元素对象

find_by_xpath(self, xpath_selector, *, timeout=20)

  • 参数:
  • xpath_selector:Xpath选择器 (str)
  • timeout:以Xpath选择器获取网页元素对象超时时间,默认超时时间20s,匹配元素超时未找到则抛出 UAIError异常

返回值:

  • WebElement:返回网页元素对象

示例1:
在当前激活的网页中获取与Xpaht选择器 百度一下 匹配的网页元素并返回第一个

  1. from xbot import web
  2. def main(args):
  3. browser = web.ge_active()
  4. web_element = browser.find_by_xpath('百度一下')

is_element_displayed

网页元素是否可见

is_element_displayed(self, selector)
参数:

  • selector:selector:要等待的目标元素, 支持以下格式:
    • 选择器名称:str类型
    • 选择器对象:Selector类型

返回值:

  • bool,返回网页元素是否可见, 可见返回True,不可见返回False

示例1:
在当前激活的网页中判断与元素选择器 百度一下 匹配的网页元素是否可见

  1. from xbot import web
  2. def main(args):
  3. browser = web.get_active()
  4. is_displayed = browser.is_element_displayed('百度一下')

extract_table

获取选择器对应表格数据

_extract_table(self, table_selector, *, timeout=20)

参数:

  • table_selector:表格选择器, 支持以下格式:
    • 选择器名称:str类型
    • 选择器对象:TableSelector类型
  • timeout:在网页上查找和目标元素相似的元素列表超时时间,默认超时时间20s,获取表格数据失败则抛出 UAIError异常

返回值:

  • list:返回网页上与目标元素相似的元素列表


    示例1:
    在当前激活的网页中获取与表格选择器 数据表格 匹配的元素列表 ```python from xbot import web

def main(args): browser = web.get_active() table_list = browser.extract_table(‘数据表格’)

  1. <a name="ss0PJ"></a>
  2. #### dowload_url
  3. 根据下载地址下载文件<br />_<br />_dowload_url(self, url, file_folder, *, file_name=None, wait_complete=False, wait_complete_timeout=60, simulative=False, clipboard_input=True, dialog_timeout=20, send_key_delay=50, focus_timeout=1000)_<br />**参数:**
  4. - url:下载地址
  5. - file_folder:保存下载文件的文件夹
  6. - file_name:保存文件名, 为None时, 使用下载资源默认文件名, 若无默认文件名则自动为下载资源生成不重复的文件名
  7. - wait_complete:是否等待下载完成,默认为False
  8. - wait_complete_timeout:等待下载完成超时时间,单位(秒)
  9. - simulative:模拟输入, 通过模拟人工的方式触发输入事件; 非模拟输入(自动化接口输入): 调用元素自身实现的自动化接口输入; 默认值为`False`
  10. - clipboard_input:是否使用剪切板输入文件路径
  11. - dialog_timeout:点击上传按钮后,等待文件选择框的最大时间,单位(秒)
  12. - send_key_delay:两次按键之间的时间间隔,默认为50ms
  13. - focus_timeout:点击文件选择输入框获取焦点的等待时间,单位(毫秒)
  14. **返回值:**<br />`str`:下载完成的文件完整路径
  15. 示例1:<br />在当前激活的窗口下载百度首页图标,并保存到C:\Download文件夹下
  16. ```python
  17. from xbot import web
  18. def main(args):
  19. browser = web.get_active()
  20. browser.download_url('https://www.baidu.com/favicon.ico', r'C:\Download')


screenshot

网页截图并保存到稳健

_screenshot(self, folder_path, *, file_name = None, full_size=True, width = 0, height = 0)

参数:

  • folder_path: 保存到的目标文件夹
  • file_name:保存到的目标文件,若空,自动生成
  • full_size:是否截取完整网页,True截取完整网页,False截取可视区域,默认为True
  • width:指定截图的宽度,用于某些含有内部滚动条,整个网页截图不到的情况。值不超过4000
  • height:指定截图的宽度,用于某些含有内部滚动条,整个网页截图不到的情况。值不超过10000

返回值:

示例1:
在当前激活的窗口截图整个网页,并保存到到文件夹D:\whole下

  1. from xbot import web
  2. def main(args):
  3. browser = web.get_active()
  4. browser.screenshot(r'D:\whole')

screenshot_to_clipboard

网页截图并保存到剪切板

_screenshot_to_clipboard(self, *, full_size=True, width = 0, height = 0)

参数:

  • full_size:是否截取完整网页,True截取完整网页,False截取可视区域,默认为True
  • width:指定截图的宽度,用于某些含有内部滚动条,整个网页截图不到的情况。值不超过4000
  • height:指定截图的宽度,用于某些含有内部滚动条,整个网页截图不到的情况。值不超过10000

返回值:

示例1:
在当前激活的窗口截取完整网页,并保存到剪切板

  1. from xbot import web
  2. def main(args):
  3. browser = web.get_active()
  4. browser.screenshot_to_clipboard()