Node.js Selenium Webdriver等待/直到看起来没有按预期工作

时间:2018-04-03 15:45:23

标签: javascript selenium-webdriver

Selenium自动化测试脚本的新手,尝试创建一个确定性脚本来测试受密码保护的网站。我可以调出登录页面并发送用户/传递值并单击登录按钮而不会出现问题,但是,在该步骤之后,我的脚本错误地指出无法找到元素。我试图利用wait / until方法确定元素是否可用,然后再与它们进行交互。

下面是一个精简代码示例,用于说明我的方法。

driver.get('https://somedomain.com/folders/login.php');
driver.wait(until.titleIs('Login Page'), 1 * 60 * 1000);
driver.wait(until.elementLocated(By.id('input1'), 1 * 60 * 1000)).then(driver.findElement(By.id('input1')).sendKeys('XXXXX'));
driver.wait(until.elementLocated(By.id('input2'), 1 * 60 * 1000)).then(driver.findElement(By.id('input2')).sendKeys('XXXXX'));
driver.findElement(By.id('inputBtn')).click();
driver.wait(until.titleIs('Selection page'), 5 * 60 * 1000);
driver.wait(until.elementLocated(By.id('input3'), 5 * 60 * 1000));
driver.wait(until.elementIsNotVisible(driver.findElement(By.id('cssLoader'))), 5 * 60 * 1000);
driver.findElement(By.id('input3')).click();

我收到以下错误:

(node:1452) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): NoSuchElementError: no such element: Unable to locate element: {"method":"css selector","selector":"*[id="cssLoader"]"}
(node:1452) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 2): NoSuchElementError: no such element: Unable to locate element: {"method":"css selector","selector":"*[id="input3"]"}

在登录过程完成之前,我在控制台中看到了错误。我以前增加了所有的等待时间,认为这是问题的一部分,但似乎并非如此。

0 个答案:

没有答案