Я нашел решение. Я поместил chromedriver.exe в node_modules/chromedriver/lib/chromedriver
.
Я могу проверить, что он был скопирован в win-unpacked/resources/app.asar.unpacked/node_modules/chromedriver/lib/chromedriver/chromedriver.exe
При запуске приложения, chromedriver может быть оштрафован на C:\Users\user\AppData\Local\Programs\MyApp\resources\app.asar.unpacked\node_modules\chromedriver\lib\chromedriver\chromedriver.exe
Я могу получить путь к драйверу следующим образом.
const chromedriver = require('chromedriver');
async getDriverPath() {
let driverPath:string = this.chromedriver.path;
driverPath = await driverPath.replace('app.asar','app.asar.unpacked');
log.info("this.driverPath " + driverPath);
return driverPath;
}
А также я задаю путь к драйверу следующим образом.
const webdriver = require('selenium-webdriver');
const {Builder} = webdriver;
let my_driver;
async startChrome() {
const driverPath = await this.getDriverPath();
const service = new chrome.ServiceBuilder(driverPath).build();
chrome.setDefaultService(service);
my_driver = new Builder().forBrowser('chrome').build();
}
Надеюсь, это кому-нибудь поможет.