Как подключиться к приложению CEFSharp с помощью selenium-webdriver в Node.js - PullRequest
0 голосов
/ 09 февраля 2020

У меня есть приложение CEFSharp, которое при запуске прослушивает порт 8088. После запуска приложения я вижу открытые сайты в http://localhost:8088. И у меня есть chromedriver.exe в моей системе PATH.

Теперь я хочу использовать selenium-webdriver в Node.js для подключения к приложению CefSharp через порт 8088. Но не удалось. Мой Node.js код выглядит так:

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

const chrome = require('selenium-webdriver/chrome');
let o = new chrome.Options();

let driver = new Builder()
    .setChromeOptions(o)
    .forBrowser('chrome')
    .usingServer('http://localhost:8088/')
    .build();

driver.findElement(By.id('q')).then((res) => {
    console.log('Resolve: ', res);
    driver.quit();
}).catch(error => {
    console.log('Reject: ', error);
});

Выдает ошибку:

Reject:
UnsupportedOperationError: newSession:
(node:20900) UnhandledPromiseRejectionWarning: UnsupportedOperationError: newSession: 
    at parseHttpResponse (c:\xxx\node_modules\selenium-webdriver\lib\http.js:578:11)
    at Executor.execute (c:\xxx\node_modules\selenium-webdriver\lib\http.js:489:26)
    at processTicksAndRejections (internal/process/task_queues.js:94:5)
(node:20900) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
(node:20900) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

Кто-нибудь знает, почему это так и как это исправить?

...