我正在尝试单击链接并确保打开的链接正确。 当我运行测试时,单击链接后,它会在新选项卡中打开。 新选项卡处于焦点中,但比较仍在上一个选项卡中。 有人吗?
这是我的代码:
HomePage homepage = PageFactory.initElements(driver, HomePage.class);
homepage.openHomePage();
homepage.openSignUpPage();
SignUpPage signUpPage = PageFactory.initElements(driver, SignUpPage.class);
signUpPage.checkTermsOfServiceURL();
driver.findElement(link_terms_of_services).click(); wait.until(ExpectedConditions.urlToBe("https://www.atlassian.com/legal/cloud-terms-of-service"));
这是结果:
等待 url 为“https://www.atlassian.com/legal/cloud-terms-of-service ”。当前网址:“https://trello.com/signup”
最佳答案
您需要将驱动程序切换到新选项卡,如下所示:
const windowHandles = await driver.getAllWindowHandles();
await driver.switchTo().window(windowHandles[1]);
然后您可以等待该选项卡中的 URL,如下所示:
await driver.wait(async () => {
const currentURL = await driver.getCurrentUrl();
return currentURL === url;
}, timeout);
关于java - 如何验证 url 是否正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56211100/