首页 > 解决方案 > UnhandledPromiseRejectionWarning:NoSuchElementError:没有这样的元素:无法找到元素

问题描述

var webdriver = require('selenium-webdriver');
var driver = new webdriver.Builder().forBrowser('chrome').build();
driver.get('http://www.google.com');
driver.findElement({name: 'q'}).sendKeys('webdriverjs');
driver.findElement({name: 'q'}).sendKeys(webdriver.Key.ENTER);
driver.manage().window().maximize();
driver.wait(webdriver.until.elementLocated({xpath: '//*[@id="rso"]/div/div/div[1]/div/div/h3/a'}), 30000);
driver.findElement({xpath: '//*[@id="rso"]/div/div/div[1]/div/div/h3/a'}).click();

收到以下错误:

26) 在 process._tickCallback (internal/process/next_tick.js:182:7) (node:15596) UnhandledPromiseRejectionWarning: 未处理的承诺拒绝。此错误源于在没有 catch 块的情况下抛出异步函数内部,或拒绝未使用 .catch() 处理的承诺。(拒绝 ID:1)(节点:15596)[DEP0018] DeprecationWarning:不推荐使用未处理的承诺拒绝。将来,未处理的 Promise 拒绝将使用非零退出代码终止 Node.js 进程。或拒绝未使用 .catch() 处理的承诺。(拒绝 ID:1)(节点:15596)[DEP0018] DeprecationWarning:不推荐使用未处理的承诺拒绝。将来,未处理的 Promise 拒绝将使用非零退出代码终止 Node.js 进程。或拒绝未使用 .catch() 处理的承诺。(拒绝 ID:1)(节点:15596)[DEP0018] DeprecationWarning:不推荐使用未处理的承诺拒绝。将来,未处理的 Promise 拒绝将使用非零退出代码终止 Node.js 进程。

标签: node.jsseleniumselenium-chromedriver

解决方案


推荐阅读