如何在selenium登录node.js后获取其他页面?
我想抓住大学主页的分数。
所以我用selenium成功登录主页。
但登录后我无法获得“记分板页面”。
我可以做什么?
var webdriver = require('selenium-webdriver');
var chrome = require('selenium-webdriver/chrome');
var driver = new webdriver.Builder().forBrowser('chrome').build();
var hisnet = ".php";
driver.get(hisnet);
var By = webdriver.By;
driver.findElement(By.name('id')).sendKeys('something');
driver.sleep(4000);
driver.findElement(By.name('password')).sendKeys('something');
driver.sleep(4000);
driver.findElement(By.xpath('//input[@ src="/2012_images/intro/btn_login.gif"]')).click();
// below code is not working as my think.
driver.sleep(10000);
driver.get(".php");
并在下面显示错误消息
(node:16184) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): NoSuchElementError: no such element: Unable to locate element: {"method":"css selector","selector":"*[name="id"]"}
(Session info: chrome=65.0.3325.162)
(Driver info: chromedriver=2.36.540470 (e522d04694c7ebea4ba8821272dbef4f9b818c91),platform=Windows NT 10.0.16299 x86_64)
(node:16184) [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.
(node:16184) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 2): NoSuchElementError: no such element: Unable to locate element: {"method":"xpath","selector":"//input[@ src="/2012_images/intro/btn_login.gif"]"}
(Session info: chrome=65.0.3325.162)
(Driver info: chromedriver=2.36.540470 (e522d04694c7ebea4ba8821272dbef4f9b818c91),platform=Windows NT 10.0.16299 x86_64)
(node:16184) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 3): NoSuchElementError: no such element: Unable to locate element: {"method":"css selector","selector":"*[name="password"]"}
(Session info: chrome=65.0.3325.162)
(Driver info: chromedriver=2.36.540470 (e522d04694c7ebea4ba8821272dbef4f9b818c91),platform=Windows NT 10.0.16299 x86_64)
回答如下:
试试这个:
process.on('unhandledRejection', (reason, p) => {
console.log('Unhandled Rejection at: Promise', p, 'reason:', reason);
// application specific logging, throwing an error, or other logic here
});