Internet explorer 在同一窗口、不同选项卡中打开超链接
我使用以下代码选项在同一窗口和不同选项卡中打开超链接,但每次链接都将在不同窗口中打开 1)Internet explorer 在同一窗口、不同选项卡中打开超链接,internet-explorer,selenium-webdriver,Internet Explorer,Selenium Webdriver,我使用以下代码选项在同一窗口和不同选项卡中打开超链接,但每次链接都将在不同窗口中打开 1) String selectLinkOpeninNewTab = Keys.chord(Keys.CONTROL,Keys.RETURN); driver.findElement(By.linkText(linkText)).sendKeys(selectLinkOpeninNewTab); Actions act = new Actions(driver); act.contextClick(
String selectLinkOpeninNewTab = Keys.chord(Keys.CONTROL,Keys.RETURN);
driver.findElement(By.linkText(linkText)).sendKeys(selectLinkOpeninNewTab);
Actions act = new Actions(driver);
act.contextClick(driver.findElement(By.xpath(element)))
.sendKeys(Keys.ARROW_DOWN)
.sendKeys(Keys.ARROW_DOWN)
.sendKeys(Keys.RETURN)
.build()
.perform();
2)
3)
String selectLinkOpeninNewTab = Keys.chord(Keys.CONTROL,Keys.RETURN);
driver.findElement(By.linkText(linkText)).sendKeys(selectLinkOpeninNewTab);
Actions act = new Actions(driver);
act.contextClick(driver.findElement(By.xpath(element)))
.sendKeys(Keys.ARROW_DOWN)
.sendKeys(Keys.ARROW_DOWN)
.sendKeys(Keys.RETURN)
.build()
.perform();
预期链接应在同一窗口中打开不同的选项卡,但每次都在新窗口中打开
请帮助。我不推荐这种方法,因为键盘操作肯定不是您想要的,因为它将是违反主要约束的,也就是说,您将无法在中运行测试 我建议采用另一种方法来解决这一问题:
WebElement link = driver.findElement(By.linkText(linkText));
String href = link.getAttribute("href");
driver.executeScript("window.open('" + href + "');");
driver.switchTo().window(driver.getWindowHandles().stream().reduce((f, s) -> s).orElse(null));
System.out.println(driver.getTitle()); // at this point you should see the new page title
我不推荐这种方法,因为键盘操作肯定不是您想要的,因为它将是违反主要约束的,也就是说,您将无法在中运行测试 我建议采用另一种方法来解决这一问题:
WebElement link = driver.findElement(By.linkText(linkText));
String href = link.getAttribute("href");
driver.executeScript("window.open('" + href + "');");
driver.switchTo().window(driver.getWindowHandles().stream().reduce((f, s) -> s).orElse(null));
System.out.println(driver.getTitle()); // at this point you should see the new page title
您可以尝试参考此链接,它可能有助于解决您的问题。参考:您可以尝试参考此链接,它可能有助于解决您的问题。裁判: