Независимо от того, что выкидывает, если у вас есть searchTextOnGoogle
, возвращайте Promise, который должным образом связан со всеми асинхронными операциями внутри, а затем вызывайте .catch
по вызову searchTextOnGoogle
, все ошибки должны быть правильно перехвачены. Используйте функцию asyn c, чтобы сделать вещи более читабельными:
const delay = ms => new Promise(res => setTimeout(res, ms));
async function searchTextOnGoogle() {
var driver = new webdriver.Builder().forBrowser("chrome").build();
await driver.get("www.google.com");
await driver.findElement(webdriver.By.linkText("Automation")).click();
const title = await driver.getTitle();
await delay(5000);
console.log(title);
await driver.quit();
}
searchTextOnGoogle()
.catch(console.log);
Обратите внимание, что .quit
также возвращает Promise, и вам необходимо правильно связать асинхронные операции внутри setTimeout
с external Promise chain.
Возможно, ошибка вызвана строкой:
driver.get("www.google.com");
В документах указано , что параметр .get
должен быть полностью определенным URL Таким образом, решение может быть в том, чтобы изменить его на:
driver.get("https://www.google.com");
или что-то в этом роде.