0

我需要使用带有 JavaScript 的 winium 编写 Windows 应用程序自动化脚本。我已经使用 Java 完成了这项工作,因为有很多帮助和资料可供参考。但是我需要在 JavaScript 中做同样的事情,而且我不知道 JavaScript 绑定中 winium 的等效 API。

winium桌面链接

Winium Java 实现

以下限制 -

首选工具 - winium

选择的语言 - JavaScript

应用程序 -任何类似的 Windows 应用程序。记事本

4

1 回答 1

2

好吧,这就是我如何使用 JS (selenium + winium.desktop.driver) 做到的。希望这会有用。

  1. 保持 Winium.Desktop.Driver 实例在端口(默认为 9999)上运行,并在构建服务时在功能中使用相同的地址。
    1. 使用 builder API 在 winium 服务器上创建 selenium 实例。
    2. 使用来自 winium 的默认 API 与 Windows 应用程序交互。

注意:如果您收到以下错误,请考虑将 selenium-webdriver 降级到 2.45.0。

错误- UnsupportedOperationError:“css 选择器”无效或已实施搜索策略。

代码片段

"use strict"; 

  const {Builder, By, Key, until} = require('selenium-webdriver');

  (async function example() {
    let driver = await new Builder().usingServer('http://localhost:9999')
                                    .withCapabilities({
                                        "app": "C:\\WINDOWS\\system32\\notepad.exe",
                                        "platformName": "Windows",
                                        "deviceName": "WindowsPC"
                                     })
                                    .forBrowser('windows')
                                    .build();

    try {

       await sleep(2000).then(function(){});
       await driver.findElement(By.name('Text Editor')).sendKeys('123');

         }
 finally {
      console.log('Killed..');
      await driver.quit();
    }
  })();

  function sleep(ms) {
    return new Promise(resolve => setTimeout(resolve, ms));
  }
于 2020-04-10T06:40:20.673 回答