Ai-Bot 之WindowsBot方法介绍
2021/7/27 7:06:14
本文主要是介绍Ai-Bot 之WindowsBot方法介绍,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1.创建/关闭WindowsBot (1)主函数示例 const windowsBot = require('WindowsBot');//引用WindowsBot模块 async function mian() { let windowsBotPort = 9999; let proxyServer = "127.0.0.1:888"; //初始化WindowsBot let driver = await windowsBot.InitWindowsBot(windowsBotPort, proxyServer = null); } mian(); //主函数,初始化WindowsBot服务 //windowsBotPort 整型,WindowsBot服务端口,多开进程,端口不可重复 //proxyServer 字符串,可选参数。设置WebBot内置浏览器代理ip (2)关闭WindowsBot await driver.CloseWindowsBot(); //关闭WindowsBot服务 2.等待超时 await driver.Sleep(3000); //显示等待 //参数一 整型,等待时间,单位毫秒 await driver.SetImplicitTimeout(waitMS, intervalMS = 10); //隐式等待 //参数一 整型,等待时间,单位毫秒 //参数二 整型,心跳间隔,单位毫秒。可选参数,默认10毫秒 3.操作模式 await driver.SetCurMode(true); //参数一 布尔类型,true前台,false后台,WindowsBot默认前台操作 4.查找窗口句柄 await driver.FindWindowHandle("className", "windowName"); //查找窗口句柄 //参数一 字符串型,窗口类名 //参数二 字符串型,窗口标题 //成功返回句柄,失败返回null await driver.FindWindowsHandle("className", "windowName"); //查找窗口句柄数组 //参数一 字符串型,窗口类名 //参数二 字符串型,窗口标题 //成功返回句柄数组,失败返回null await driver.FindSubWindowHandle("hwndParent", "className", "windowName"); //查找子窗口句柄 //参数一 整型,父窗口句柄 //参数二 字符串型,窗口类名 //参数三 字符串型,窗口标题 //成功返回句柄,失败返回null await driver.FindWebBotHandle(); //查找WebBot内置浏览器句柄 //成功返回句柄,失败返回null 5.鼠标操作 await driver.MoveMouse(hwnd, x, y); //移动鼠标 //参数一 整型,窗口句柄 //参数二 整型,x坐标 //参数三 整型,y坐标 await driver.RollMouse(hwnd, x, y, dwData); //滚动鼠标 //参数一 整型,窗口句柄 //参数二 整型,x坐标 //参数三 整型,y坐标 //参数四 整型,鼠标滚动次数,负数下滚鼠标,正数上滚鼠标 await driver.ClickMouse(hwnd, x, y, msg); //点击鼠标,后台模式下,控件独句柄与hwnd不一致时会失败 //参数一 整型,窗口句柄 //参数二 整型,x坐标 //参数三 整型,y坐标 //参数四,单击左键:1 单击右键:2 按下左键:3 弹起左键:4 按下右键:5 弹起右键:6 双击左键:7 双击右键:8 6.键盘操作 await driver.InputText(hwnd, text); //输入文本,杀毒软件可能会拦截 //参数一 整型,窗口句柄 //参数二 字符串型,输入内容 await driver.InputKeyborad(bVk, msg); //输入键盘VK值 //参数一 整型,VK键值 //参数二 整型,按下弹起:1 按下:2 弹起:3 7.截图保存 await driver.SaveScreenshot(hwnd, imagePath, x = 0, y =0, width = 0, height = 0); //后台截图保存 //参数一 整型,窗口句柄 //参数二 字符串型,图片保存的路径,png格式 //参数三 整型,可选参数,顶点x坐标 //参数四 整型,可选参数,顶点y坐标 //参数五 整型,可选参数,图片宽度 //参数六 整型,可选参数,图片高度 //成功返回true,失败返回false await driver.FrontSaveScreenshot(imagePath, x = 0, y =0, width = 0, height = 0); //前台截图保存,当SaveScreenshot截图失效时,可用此函数 //参数一 字符串型,图片保存的路径,png格式 //参数二 整型,可选参数,顶点x坐标 //参数三 整型,可选参数,顶点y坐标 //参数四 整型,可选参数,图片宽度 //参数五 整型,可选参数,图片高度 //成功返回true,失败返回false 8.图色定位 await driver.FindColorCount(imagePath, R, G, B); //查找图片颜色点的数量和坐标 //参数一 字符串型,图片的路径 //参数二 整型,红 //参数三 整型,绿 //参数四 整型,蓝 //返回指定rgb点的数量和坐标 await driver.FindColor(hwnd, imagePath, R, G, B, index = 0); //查找指定色值在图片上的位置 //参数一 整型,窗口句柄 //参数二 字符串型,图片的路径 //参数三 整型,红 //参数四 整型,绿 //参数五 整型,蓝 //参数六 整型,可选参数,指定出现的次数,默认第一次查找到的坐标 //成功返回指定rgb点的坐标,失败返回 {x:-1, y:-1} await driver.FindImage(hwnd, sourceImagePath, destImagePath, sim); //查找图片,大图找小图 //参数一 整型,窗口句柄 //参数二 字符串型,大图路径 //参数三 字符串型,小图路径 //参数四 浮点型,相似度0.0-1.0 //成功返回指定rgb点的坐标,失败返回 {x:-1, y:-1} 9.系统剪切板 await driver.SetClipboardText(text); //设置剪切板文本 //参数一 字符串型,设置的文本 await driver.GetClipboardText(); //获取剪切板文本 //返回剪切板文本 10.启动程序 await driver.StartProcess(commandLine, showWindow = true, isWait = false); //启动指定程序 //参数一 字符串型,启动命令行 //参数二 布尔型,是否显示窗口。可选参数,默认显示窗口 //参数三 布尔型,是否等待程序结束。可选参数,默认不等待 //成功返回true,失败返回false 11.下载文件 await driver.DownloadFile(url, filePath, isWait); //启动指定程序 //参数一 字符串型,文件地址 //参数二 字符串型,文件保存的路径 //参数三 布尔型,是否等待.为true时,等待下载完成 12.ocr系统 await driver.InitOcr(appId, apiKey, secretKey); //初始化百度ocr //参数一 字符串型,百度ocr提供 //参数二 字符串型,百度ocr提供 //参数三 字符串型,百度ocr提供 await driver.GetImageWords(imagePath, ocrType); //百度ocr获取图片上的文字 //参数一 字符串型,图片路径 //参数二 整型,识别类型,通用文字识别:1 高精度版:2 网络图片文字识别:3 数字识别:4 手写文字识 别:5 二维码识别:6 //成功返回获取的文字 await driver.FindImageWords(hwnd, imagePath, words, index = 0); //百度ocr获取图片文字坐标 //参数一 整型,图片所属窗口的句柄,手机图片识别一般为null //参数二 字符串型,图片路径 //参数三 字符串型,识别的文字 //参数四 整型,可选参数。文字出现的次数,默认为0,查找第一次出现的坐标 //成功返回文字坐标,失败返回{x:-1, y:-1} 13.验证码识别系统 await driver.InitCheckCode(userName, passWord); //初始化验证码系统 //参数一 字符串型,用户名,第三方平台提供 //参数二 字符串型,用户密码,第三方平台提供 await driver.GetCheckCode(imagePath, codeType); //获取验证码 //参数一 字符串型,验证码图片路径 //参数二 字符串型,验证码类型,参考第三方平台 //成功返回验证码,失败返回错误信息 await driver.SendErrorCode(); //发送验证码识出错 //成功返回"true",失败返回错误信息 14.窗口元素操作 注意:窗口元素操作未默认释放,必须手动释放,否则内存泄漏! (1)查找元素 await driver.FindRootElement(hwnd); //查找窗口根元素 //参数一 整型,窗口句柄 //成功返回元素对象,失败返回null await driver.FindFocusElement(); //查找焦点元素 //成功返回元素对象,失败返回null await driver.FindElementByAutomationId(rootElement, automationId); //通过automationId查找元素 //参数一 对象,根元素 //参数二 字符串,要查找元素的automationId值 //成功返回元素对象,失败返回null await driver.FindElementsByAutomationId(rootElement, automationId); //通过automationId查找元素数组 //参数一 对象,根元素 //参数二 字符串,要查找元素的automationId值 //成功返回元素对象数组,失败返回null await driver.FindElementByName(rootElement, name); //通过name查找元素 //参数一 对象,根元素 //参数二 字符串,要查找元素的name值 //成功返回元素对象,失败返回null await driver.FindElementsByName(rootElement, name); //通过name查找元素数组 //参数一 对象,根元素 //参数二 字符串,要查找元素的name值 //成功返回元素对象数组,失败返回null await driver.FindElementByClassName(rootElement, className); //通过className查找元素 //参数一 对象,根元素 //参数二 字符串,要查找元素的className值 //成功返回元素对象,失败返回null await driver.FindElementsByClassName(rootElement, className); //通过className查找元素数组 //参数一 对象,根元素 //参数二 字符串,要查找元素的className值 //成功返回元素对象数组,失败返回null await driver.FindElementByControlType(rootElement, controlType); //通过controlType查找元素 //参数一 对象,根元素 //参数二 字符串,要查找元素的controlType值 //成功返回元素对象,失败返回null await driver.FindElementsByControlType(rootElement, controlType); //通过controlType查找元素数组 //参数一 对象,根元素 //参数二 字符串,要查找元素的controlType值 //成功返回元素对象数组,失败返回null await driver.FindElementByXpath(rootElement, xpath); //通过xpath查找元素 //参数一 对象,根元素 //参数二 字符串,要查找元素的xpath值 //成功返回元素对象,失败返回null await driver.FindParentElement(currentElement, isRelease = true); //查找父元素 //参数一 对象,当前元素 //参数二 布尔型,可选参数。是否释放当前元素 //currentElement不再使用时必须释放,否则内存泄漏.默认为true释放当前元素 //成功返回元素对象,失败返回null await driver.FindNextSiblingElement(currentElement, isRelease = true); //查找下一个兄弟元素 //参数一 对象,当前元素 //参数二 布尔型,可选参数。是否释放当前元素 //currentElement不再使用时必须释放,否则内存泄漏.默认为true释放当前元素 //成功返回元素对象,失败返回null await driver.FindPreviousSiblingElement(currentElement, isRelease = true); //查找上一个兄弟元素 //参数一 对象,当前元素 //参数二 布尔型,可选参数。是否释放当前元素 //currentElement不再使用时必须释放,否则内存泄漏.默认为true释放当前元素 //成功返回元素对象,失败返回null await driver.FindFirstChildElement(currentElement, isRelease = true); //查找第一个子元素 //参数一 对象,当前元素 //参数二 布尔型,可选参数。是否释放当前元素 //currentElement不再使用时必须释放,否则内存泄漏.默认为true释放当前元素 //成功返回元素对象,失败返回null await driver.FindLastChildElement(currentElement, isRelease = true); //查找最后一个子元素 //参数一 对象,当前元素 //参数二 布尔型,可选参数。是否释放当前元素 //currentElement不再使用时必须释放,否则内存泄漏.默认为true释放当前元素 //成功返回元素对象,失败返回null (2)元素方法 await driver.GetElementName(element, isRelease = true); //获取指定元素name属性值 //参数一 对象,指定元素 //参数二 布尔型,可选参数。element不再使用时必须释放,否则内存泄漏.默认为true释放 //成功返回元素name属性值 await driver.GetElementBoundingRectangle(element, isRelease = true); //获取指定元素矩形大小 //参数一 对象,指定元素 //参数二 布尔型,可选参数。element不再使用时必须释放,否则内存泄漏.默认为true释放 //成功返回元素矩形大小,失败返回{left:-1, top:-1, right:-1, bottom:-1} await driver.GetElementValueValue(element, isRelease = true); //获取指定元素ValueValue属性值 //参数一 对象,指定元素 //参数二 布尔型,可选参数。element不再使用时必须释放,否则内存泄漏.默认为true释放 //成功返回元素ValueValue属性值 await driver.GetControlType(element, isRelease = true); //获取指定元素ControlType属性值 //参数一 对象,指定元素 //参数二 布尔型,可选参数。element不再使用时必须释放,否则内存泄漏.默认为true释放 //成功返回元素ControlType属性值 await driver.SetElementValue(element, value, isRelease = true); //设置指定元素value //参数一 对象,指定元素 //参数二 字符串型,设置的值 //参数三 布尔型,可选参数。element不再使用时必须释放,否则内存泄漏.默认为true释放 //成功返回true,失败返回false await driver.SetElementValueEx(element, value, isRelease = true); //通过元素窗口句柄设置指定元素value //参数一 对象,指定元素 //参数二 字符串型,设置的值 //参数三 布尔型,可选参数。element不再使用时必须释放,否则内存泄漏.默认为true释放 //成功返回true,失败返回false. await driver.InvokeElement(element, isRelease = true); //执行元素默认操作,一般用作点击 //参数一 对象,指定元素 //参数二 布尔型,可选参数。element不再使用时必须释放,否则内存泄漏.默认为true释放 //成功返回true,失败返回false await driver.SetElementFocus(element, isRelease = true); //设置指定元素作为焦点 //参数一 对象,指定元素 //参数二 布尔型,可选参数。element不再使用时必须释放,否则内存泄漏.默认为true释放 //成功返回true,失败返回false await driver.SetElementScroll(element, horizontalPercent, verticalPercent, isRelease = true); //设置指定元素滚动条 //参数一 对象,指定元素 //参数二 浮点型,水平百分比0.0-1.0,为-1时不滚动 //参数三 浮点型,垂直百分比0.0-1.0,为-1时不滚动 //参数四 布尔型,可选参数。element不再使用时必须释放,否则内存泄漏.默认为true释放 //成功返回true,失败返回false await driver.ClickElement(element, msg, isRelease = true); //通过元素窗口句柄点击控件 //参数一 对象,指定元素 //参数二 整型,单击左键:1 单击右键:2 按下左键:3 弹起左键:4 按下右键:5 弹起右键:6 双击左键:7 双击右键:8 //参数三 布尔型,可选参数。element不再使用时必须释放,否则内存泄漏.默认为true释放 //成功返回true,失败返回false.后台模式无法点击非客户端区域 await driver.CloseWindow(element, isRelease = true); //关闭指定元素窗口 //参数一 对象,指定元素 //参数二 布尔型,可选参数。element不再使用时必须释放,否则内存泄漏.默认为true释放 //成功返回true,失败返回false. await driver.SetWindowState(element, state, isRelease = true); //设置指定元素窗口状态 //参数一 对象,指定元素 //参数二 整型,正常:0 最大化:1 最小化:2 //参数三 布尔型,可选参数。element不再使用时必须释放,否则内存泄漏.默认为true释放 //成功返回true,失败返回false. await driver.ReleaseElement(element); //手动释放指定元素,windows元素操作必须要释放元素,否则内存泄漏 //参数一 对象,指定元素 //成功返回true,失败返回false. await driver.ReleaseElements(elements); //手动释放指定元素数组,元素数组不再使用时,必须调用此函数手动释放,否则大量内存泄漏 //参数一 对象,指定元素数组 15.内置浏览器(WebBot) (1)WebBot操作 await driver.openWebBot(url); //打开内置浏览器WebBot //参数一 字符串型,指定网址 await driver.switchPage(index); //切换WebBot页面 //参数一 整型,索引号,0为起首页 await driver.closePage(index); //关闭WebBot页面 //参数一 整型,索引号,0为起首页 (2)获取元素 await driver.getElementById(id, iframe = null); //通过id获取元素 //参数一 字符串型,元素id值 //参数二 对象,可选参数,元素所属的iframe //成功返回元素对象,失败返回null await driver.getElementsByClassName(classNames, iframe = null); //通过class获取元素数组 //参数一 字符串型,元素class值 //参数二 对象,可选参数,元素所属的iframe //成功返回元素对象数组,失败返回null await driver.getElementsByName(elementName, iframe = null); //通过name获取元素数组 //参数一 字符串型,元素name值 //参数二 对象,可选参数,元素所属的iframe //成功返回元素对象数组,失败返回null await driver.getElementsByTagName(localName, iframe = null); //通过tagName获取元素数组 //参数一 字符串型,元素tagName值 //参数二 对象,可选参数,元素所属的iframe //成功返回元素对象数组,失败返回null await driver.getElementByXpath(xpath, iframe = null); //通过xpath获取元素 //参数一 字符串型,元素xpath路径 //参数二 对象,可选参数,元素所属的iframe //成功返回元素对象,失败返回null await driver.querySelector(selector, iframe = null); //通过ccs selector获取元素 //参数一 字符串型,元素selector路径 //参数二 对象,可选参数,元素所属的iframe //成功返回元素对象,失败返回null await driver.querySelectorAll(selectors, iframe = null); //通过ccs selector获取元素数组 //参数一 字符串型,元素selector路径 //参数二 对象,可选参数,元素所属的iframe //成功返回元素对象数组,失败返回null (3)元素方法 await driver.clickElement(element); //点击元素 //参数一 对象,要点击的元素 await driver.clickElementEx(element, iframe); //点击元素(windows api方式点击) //参数一 对象,要点击的元素。 参数二 对象,可选参数,元素所属的iframe await driver.setValue(element, value); //设置元素value //参数一 对象,设置的元素 //参数二 字符串型,设置的值 await driver.getValue(element); //获取元素value //参数一 对象,指定的元素 //成功返回value值 await driver.setTextConten(element, value); //设置元素textConten //参数一 对象,设置的元素 //参数二 字符串型,设置的值 await driver.getTextConten(element); //获取元素textConten //参数一 对象,指定的元素 //成功返回textConten值 await driver.setOuterText(element, value); //设置元素outerText //参数一 对象,设置的元素 //参数二 字符串型,设置的值 await driver.getOuterText(element); //获取元素outerText //参数一 对象,指定的元素 //成功返回outerText值 await driver.setOuterHTML(element, value); //设置元素setOuterHTML //参数一 对象,设置的元素 //参数二 字符串型,设置的值 await driver.getOuterHTML(element); //获取元素outerText //参数一 对象,指定的元素 //成功返回outerHTML值 await driver.setInnerText(element, value); //设置元素setInnerText //参数一 对象,设置的元素 //参数二 字符串型,设置的值 await driver.getInnerText(element); //获取元素innerHTML //参数一 对象,指定的元素 //成功返回innerHTML值 await driver.setAttribute(element, value, name); //设置元素属性 //参数一 对象,设置的元素 //参数二 字符串型,设置的值 //参数三 字符串型,属性名称 await driver.getAttribute(element, name); //获取元素属性值 //参数一 对象,指定的元素 //参数二 字符串型,属性名称 //成功返回name对应的属性值 await driver.setSelect(element, checkValue); //选择下拉框值 //参数一 对象,指定的元素 //参数二 字符串型,选中的值 //成功返回name对应的属性值 await driver.getBoundingClientRect(element); //获取元素矩形大小 //参数一 对象,指定的元素 //成功返矩形大小,失败返回null (4)注入JavaScript await driver.executeScript(scriptCode); //注入JavaScript代码在v8执行 //参数一 字符串型,JavaScript代码 (5)node与V8数据共享 await driver.nodePipeScript(shareData = 'null'); //WebBot V8有同名称扩展函数,可在executeScript调用。shareData更新需要10-100毫秒 //参数一 字符串型,设置共享数据值,可选参数。 //返回node/v8 设置的shareData值。 (6)Cookie操作 await driver.ExportCookie(filePath, url); //导出指定url的cookie //参数一 字符串型,cookie文件路径 //参数二 字符串型,url 格式:http://www.ai-bot.net //成功返回true,失败返回false await driver.ImportCookie(filePath, url); //导入cookie到指定url网页 //参数一 字符串型,cookie文件路径 //参数二 字符串型,url 格式:http://www.ai-bot.net //成功返回true,失败返回false await driver.ClearCookie(filePath, url); //清除指定url网页内的cookie, 不会删除本地cookie文件 //参数一 字符串型,cookie文件路径 //参数二 字符串型,url 格式:http://www.ai-bot.net //成功返回true,失败返回false 16.Word文档 await driver.wordCreate(options = {type: 'docx'}); /创建Wrod文档 //参数一 对象,Word文档格式,可选参数,options列表: * type(字符串)'docx' 必要参数值 * author(字符串)-文档的作者 * creator(字符串)-别名。文档的作者 * description'(字符串)-文档的属性注释 * keywords(字符串)-文档的关键字 * orientation(字符串)-横向'landscape'或纵向'portrait'。默认值为'portrait' * pageMargins(对象)-设置文档页边距。默认值为{top: 1800, right: 1440, bottom: 1800, left: 1440} * pageSize(字符串|对象)-设置文档页面大小。默认值为A4(支持值:'A4', 'A3', 'letter paper')。或使用{width: 11906, height: 16838}设置自定义尺寸 * subject (字符串)-文档的主题 * title(字符串)-文档的标题 * columns(整型)-每页中的列数。默认值为1列。 //返回word对象 await driver.wordAddPage(docxObject); //添加word分页 //参数一 对象,word对象 await driver.wordCreateTable(docxObject, table, tableStyle); //创建word表格 //参数一 对象,word对象 //参数二 对象,表格 //参数三 对象,表格样式 await driver.wordAddHeader(docxObject, text, options = ''); //添加页眉 //参数一 对象,word对象 //参数二 字符串,要添加的文本 //参数三 字符串,可选参数,要更改的页面 'even'更改偶数页。'first'仅更改首页 await driver.wordAddFooter(docxObject, text, options = ''); //添加页脚 //参数一 对象,word对象 //参数二 字符串,要添加的文本 //参数三 字符串,可选参数,要更改的页面 'even'更改偶数页。'first'仅更改首页 await driver.wordCreateParagraph(docxObject, options = {align: 'left'}); //创建段落 //参数一 对象,word对象 //参数二 对象, 可选参数,段落格式,options列表: * align(字符串)-水平对齐,可以是'left'(默认),'right','center'或'justify' * textAlignment(字符串)-垂直对齐方式,'center', 'top', 'bottom'或'baseline' * indentLeft(数字)- 向左缩进 * indentFirstLine(数字)- 缩进第一行 * backline(字符串)-颜色代码,例如:'ffffff'(白色)或'000000'黑色) //成功返回段落对象 await driver.wordCreateListOfDots(docxObject, options = {align: 'left'}); //创建无作序号的段落 //参数一 对象,word对象 //参数二 对象, 可选参数,段落格式,options列表:参考wordCreateParagraph //成功返回段落对象 await driver.wordCreateListOfNumbers(docxObject, options = {align: 'left'}); //创建有序号数字的段落 //参数一 对象,word对象 //参数二 对象, 可选参数,段落格式,options列表:参考wordCreateParagraph //成功返回段落对象 await driver.wordCreateNestedUnOrderedList(docxObject, options = {"level":2}); //创建有等级的无序号段落 //参数一 对象,word对象 //参数二 对象, 可选参数,段落格式,options列表:参考wordCreateParagraph //成功返回段落对象 await driver.wordCreateNestedOrderedList(docxObject, options = {"level":2}); //创建有等级的序号段落 //参数一 对象,word对象 //参数二 对象, 可选参数,段落格式,options列表:参考wordCreateParagraph //成功返回段落对象 await driver.wordAddText(paragraphObject, text, sytle = {}); //将文本添加到段落 //参数一 对象,段落对象对象 //参数二 字符串, 要添加的文本 //参数三 对象,可选参数,文本样式,sytle列表: * back(字符串)-背景颜色代码,例如:'ffffff'(白色)或'000000'黑色) * shdType(字符串)-要使用的可选模式代码:'clear'(无模 式),'pct10','pct12','pct15','diagCross','diagStripe','horzCross','horzStripe',' nil' ,'thinDiagCross','solid'等 * shdColor(字符串)-模式的前部颜色(与shdType一起使用) * bold(布尔)-为true时文本变为粗体 * border(字符串)-边框类 型:'single','dashDotStroked','dashed','dashSmallGap','dotDash','dotDotDash','dott ed','double','thick' * color(字符串)-字体颜色代码,例如:“ ffffff”(白色)或“ 000000”(黑色) * italic(布尔值)-设置为斜体时为true * underline(布尔值)-为true表示要添加下划线 * font_face(字符串)-要使用的字体,例如:'Arial' * font_face_east(字符串)-高级设置:用于东亚的字体。您还必须设置font_face * font_face_cs(字符串)-高级设置:要使用的字体(cs)。您还必须设置font_face * font_face_h(字符串)-高级设置:要使用的字体(hAnsi)。您还必须设置font_face * font_hint(字符串)-可选。'ascii'(默认),'eastAsia','cs'或'hAnsi' * font_size(数字)-以磅为单位的字体大小 * rtl(布尔值)-将其添加到rtl语言的任何文本中 * highlight (字符串) - 高亮颜色。'black', 'blue', 'cyan', 'darkBlue', 'darkCyan', 'darkGray', 'darkGreen', 'darkMagenta', 'darkRed', 'darkYellow', 'green', 'lightGray', 'magenta', 'none', 'red', 'white','yellow' * strikethrough(布尔值)-添加删除线时为true。 * superscript(布尔值)-如果可以使用较小的尺寸,则为true可以将此次运行中的文本降低到基 线以下,并将其更改为较小的尺寸。 * subscript(布尔值)-为true时,如果可以使用较小的尺寸,则将运行中的文本升高到基线以 上,并将其更改为较小的尺寸 * link(字符串)-超连接 * hyperlink(字符串)向书签的超链接 await driver.wordAddImage(paragraphObject, imagePath, area = {}); //将图像添加到段落 //参数一 对象,段落对象 //参数二 字符串, 图片路径 //参数三 对象, 可选参数, 图片宽高 {cx: 300, cy: 200} await driver.wordBreak(paragraphObject); //段落换行 //参数一 对象,段落对象 await driver.wordAddHorizontalLine(paragraphObject); //添加一条水平线,看上去与换行相似? //参数一 对象,段落对象 await driver.wordStartBookmark(paragraphObject, markName); //添加书签 //参数一 对象,段落对象 //参数二 字符串,标签名 await driver.wordEndBookmark(paragraphObject); //书签结束位置 //参数一 对象,段落对象 await driver.wordSave(docxObject, filePath); //保存word文件 //参数一 对象,word对象 //参数二 字符串,保存的路径 await driver.wordReadText(filePath); //读取word内容 //参数一 字符串,保存的路径 //成功返回读取到的内容,失败返回null 17.Excel文档 await driver.OpenExcel(excelPath); //打开excel文档 //参数一 字符串,excle路径 //成功返回excel对象,失败返回null await driver.OpenExcelSheet(excelObject, sheetName); //打开excel表格 //参数一 对象,excel对象 //参数二 字符串,表名 //成功返回sheet对象,失败返回null await driver.SaveExcel(excelObject); //保存excel文档 //参数一 对象,excel对象 //成功返回true,失败返回false await driver.WriteExcelNum(sheetObject, row, col, value); //写入数字到excel表格 //参数一 对象,sheet对象 //参数二 整型,行 //参数三 整型,列 //参数四 数字型,写入的值 //成功返回true,失败返回false await driver.WriteExcelStr(sheetObject, row, col, strValue); //写入字串到excel表格 //参数一 对象,sheet对象 //参数二 整型,行 //参数三 整型,列 //参数四 字符串,写入的值 //成功返回true,失败返回false await driver.ReadExcelNum(sheetObject, row, col); //读取excel表格数字 //参数一 对象,sheet对象 //参数二 整型,行 //参数三 整型,列 //返回读取到的数字 await driver.ReadExcelStr(sheetObject, row, col); //读取excel表格字串 //参数一 对象,sheet对象 //参数二 整型,行 //参数三 整型,列 //返回读取到的字符 18.邮件收发 await driver.SendMail(smtpServer, smtpPort, authCode, sendMailer, sendName, recvMailer, subject, text, html = null, attachments = null); //发送邮件 //参数一 字符串,SMTP服务地址 //参数二 整型,SMTP服务端号 //参数三 字符串,第三方邮箱平台授权码 //参数四 字符串,发送人邮箱 //参数五 字符串,发送人名称 //参数六 字符串,接收人邮箱,多人逗号分开 //参数七 字符串,邮箱主题 //参数八 字符串,发送的正文 文本格式 //参数九 字符串,发送的正文 html格式,可选参数,默认为null //参数十 字符串, 发送的附件,可选参数,默认为null 示例: let attachments = [ { // utf-8字符串作为附件 filename: 'text1.txt', content: 'hello world!' }, { //磁盘上的文件作为附件 filename: 'text3.txt', path: '/path/to/file.txt' }, { //文件名和内容类型是从路径生成 path: '/path/to/file.txt' }, { //使用URL作为附件 filename: 'WindowsDoc.pdf', path: 'http://www.ai-bot.net/WindowsDoc.pdf' } ] //成功返回"邮件发送成功!",失败返回错误信息 await driver.GetMail(imapServer, imapPort, authCode, mailAccount,criteria); //获取邮件 //参数一 字符串,IMAP服务地址 //参数二 整型,IMAP服务端号 //参数三 字符串,第三方邮箱平台授权码 //参数四 字符串,邮箱账号 //参数五 字符串,获取哪类邮件,所有邮件'ALL' 未读邮件'UNSEEN' 已读邮件'SEEN' 第1-3封'1:3' //成功返回邮件信息对象,失败返回错误信息 19.PDF转PNG图片 await driver.PdfToImage(pdfPath, quality = 100); //获取邮件 //参数一 字符串,pdf路径 //参数二 整型,图片品质,可选参数,默认100 //成功返回true,失败返回false.图片生成在当前目录下,以pdf文件命名,多页Pdf会生成多个图片 20.获取主板识别码 await driver.GetBoisId(); //一般用作脚本授权 //成功返回BoisId,失败返回null
这篇关于Ai-Bot 之WindowsBot方法介绍的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-20实战:30 行代码做一个网页端的 AI 聊天助手
- 2024-11-185分钟搞懂大模型的重复惩罚后处理
- 2024-11-18基于Ollama和pgai的个人知识助手项目:用Postgres和向量扩展打造智能数据库
- 2024-11-15我用同一个提示测试了4款AI工具,看看谁设计的界面更棒
- 2024-11-15深度学习面试的时候,如何回答1x1卷积的作用
- 2024-11-15检索增强生成即服务:开发者的得力新帮手
- 2024-11-15技术与传统:人工智能时代的最后一袭纱丽
- 2024-11-15未结构化数据不仅仅是给嵌入用的:利用隐藏结构提升检索性能
- 2024-11-15Emotion项目实战:新手入门教程
- 2024-11-157 个开源库助你构建增强检索生成(RAG)、代理和 AI 搜索