菜单

ABlog

Github
文章漫游 切换到深色模式 切换到浅色模式

ubrowser API #

uTools browser 简称 ubrowser,是根据 uTools 的特性,量身打造的一个可编程浏览器。利用 ubrowser 可以轻而易举连接一切互联网服务,且与 uTools 完美结合。

ubrowser 拥有优雅的链式调用接口,可以用口语化的数行代码,实现一系列匪夷所思的操作。例如:

1、RPA 自动化脚本

2、网页魔改

3、网页抓取

基本 demo:

// 打开"必应" 并搜索 "uTools"
utools.ubrowser
  .goto("https://cn.bing.com")
  .value("#sb_form_q", "uTools")
  .click("#sb_form_go")
  .run({ width: 1000, height: 600 });

API 列表 #

useragent(userAgent) #

设置 User-Agent

goto(url, headers, timeout) #

前往

viewport(width, height) #

页面大小

hide() #

隐藏 ubrowser 窗口

show() #

显示 ubrowser 窗口

css(cssCode) #

注入样式

press(key, ...modifier) #

键盘按键

paste(text) #

执行粘贴

screenshot(arg, savePath) #

String - 要截取的 DOM 元素

Object - 截图位置和大小 { x: Integer, y: Integer, width: Integer, height: Integer }

为空 截取整个窗口

部分网页截图

pdf(options, savePath) #

保存页面为 PDF

device(arg) #

模拟设备

cookies(name) #

为空获取全部 cookie 获取 cookie

setCookies(name, value) #

设置 cookie

setCookies(cookies) #

设置 cookie

removeCookies(name) #

删除 cookie

clearCookies(url) #

清空 cookie

devTools(mode) #

打开开发者工具

evaluate(func, ...params) #

执行 JS 函数,如果有返回值将加入到返回结果中

示例 #

evaluate(
  (param1, param2) => {
    return document.querySelector("div").innerText;
  },
  "param1",
  "param2"
);

wait(ms) #

等待

wait(selector, timeout) #

等待 DOM 元素出现

wait(func, timeout,...params) #

等待 JS 函数执行返回 true

when(selector) #

当元素存在时执行直到碰到 end() 方法

when(func, ...params) #

当 JS 函数执行返回 true 时执行, 直到碰到 end() 方法

end() #

与 when 配套使用

click(selector) #

单击元素

mousedown(selector) #

元素触发按下鼠标左键

mouseup(selector) #

元素触发释放鼠标左键

file(selector, payload) #

为网页中的 file input 赋值

value(selector, val) #

为网页中的 input textarea select 元素赋值

check(selector, checked) #

checkbox radio 元素选中或取消选中

focus(selector) #

元素获得焦点

scroll(selector) #

滚动到元素位置

scroll(y) #

Y 轴滚动

scroll(x, y) #

X 轴和 Y 轴滚动

download(url, savePath) #

文件下载

run(options) #

启动 ubrowser 运行实例

run(ubrowserId) #

运行在闲置状态(已运行结束,未关闭)的 ubrowser 实例上

ubrowser 管理 #

getIdleUBrowsers() #

获取闲置的 ubrowser

示例 #

console.log(utools.getIdleUBrowsers());
// [{ id: number, title: string, url: string, x: number, y: number, width: number, height: number }]

setUBrowserProxy(config) #

设置 ubrowser 代理

示例 #

utools.setUBrowserProxy({
  proxyRules: "http=foopy:80;ftp=foopy2",
});

clearUBrowserCache() #

清空 ubrowser 缓存

示例 #

utools.clearUBrowserCache();