Не удается разрешить ошибку необработанного отклонения обещания и NoSuchSessionError - PullRequest
0 голосов
/ 14 января 2020

Я пытаюсь создать некоторый код, но я получаю эти две ошибки:

(узел: 12909) UnhandledPromiseRejectionWarning: NoSuchSessionError: Попытка выполнить команду без установления соединения в Object.throwDecodedError (/ home /matthew/node_modules/selenium-webdriver/lib/error.js:550:15) в parseHttpResponse (/home/matthew/node_modules/selenium-webdriver/lib/http.js:563:13) у исполнителя. выполнить (/home/matthew/node_modules/selenium-webdriver/lib/http.js:489:26) по адресу at process._tickCallback (internal / process / next_tick. js: 188: 7) (узел: 12909) UnhandledPromiseRejectionWarning: необработанное отклонение обещания. Эта ошибка возникла либо из-за того, что внутри asyn c -функции не было блока catch, либо из-за отклонения обещания, которое не было обработано с помощью .catch (). (идентификатор отклонения: 1) (узел: 12909) [DEP0018] Предупреждение об устаревании: отклонения необработанного обещания устарели. В будущем отклонения обещания, которые не обрабатываются, завершат процесс Node.js с ненулевым кодом завершения. (узел: 12909) UnhandledPromiseRejectionWarning: NoSuchSessionError: Пытался выполнить команду без установления соединения в Object.throwDecodedError (/home/matthew/node_modules/selenium-webdriver/lib/error.js:550:15 / homesesesersetse) (parseH) /matthew/node_modules/selenium-webdriver/lib/http.js:563:13) в Executor.execute (/home/matthew/node_modules/selenium-webdriver/lib/http.js:489:26) в at process._tickCallback (internal / process / next_tick. js: 188: 7) (узел: 12909) UnhandledPromiseRejectionWarning: необработанное отклонение обещания. Эта ошибка возникла либо из-за того, что внутри asyn c -функции не было блока catch, либо из-за отклонения обещания, которое не было обработано с помощью .catch (). (код отклонения: 2)

function review_balance() {
    if (balance_amount > 0) {
        console.log("This address has " + balance_amount + "Bitcoin");  
    }
    else {
        console.log("0 Bitcoins!");
    }
}

async function searching() {
    console.log("Waiting for address to be scanned on the Bitcoin blockchain...");
    const result = await review_balance();
    console.log(result);
}

   searching();
   driver.close();

Это часть программы, которая является наиболее важной и содержит проблему. Кто-нибудь может дать мне какой-нибудь совет? Я был бы очень благодарен.

1 Ответ

0 голосов
/ 17 января 2020

Решение с использованием Promise:

let check_balance = new Promise((resolve, reject) => {

driver.get("https://explorer.bitcoin.com/btc/address/" + address);

let balance_amount = driver.findElement(webdriver.By.className("amount")).getText();

if (balance_amount > 0) {
    resolve('This wallet has ' + balance_amount + ' Bitcoins.');
}
else {
    reject('0 Bitcoins!');

}})check_balance.then((message) => {

console.log(message);}).catch((message) => {

console.log(message);}) setTimeout(function () {

driver.quit();}, 8000);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...