У меня есть приложение 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.
Кто-нибудь знает, почему это так и как это исправить?