目前我正在使用Node.js开展Selenium Automation Test。我找到了一些使用Selenium无法实现的动作。这是详细信息。
我目前的先决条件是在某些处理电子邮件网站中从deeplink打开新标签页。点击深链接后,“更改我的密码”将重定向到我的网站并继续更改密码过程。如何将控制权转移到其他标签?
//after click on deeplink, open new tab
driver.getAllWindowHandles().then(function gotWindowHandles(allhandles) {
return driver.switchTo().window(allhandles[allhandles.length - 1]);
});
let newtab = driver.findElement(By.xpath('//*[@id="new_password"]'));
await driver.wait(until.elementLocated(newtab));
await driver.wait(until.elementIsVisible(driver.findElement(newtab))).sendKeys('Tester123!!');
//enter confirm password
await driver.findElement(By.xpath('//*[@id="confirmpass"]')).sendKeys('Tester123!!');
任何帮助都会受到赞赏。
提前谢谢。
答案 0 :(得分:1)
//after click on deeplink, open new tab
driver.getAllWindowHandles().then(function gotWindowHandles(allhandles) {
return driver.switchTo().window(allhandles[allhandles.length - 1]);
});
//should be use by xpath :(
let newtab = By.xpath('//*[@id="new_password"]');
await driver.wait(until.elementLocated(newtab));
await driver.wait(until.elementIsVisible(driver.findElement(newtab))).sendKeys('Tester123!!');
//enter confirm password
await driver.findElement(By.xpath('//*[@id="confirmpass"]')).sendKeys('Tester123!!');
现在好了。快乐的编码!