Java Selenium WebDriver中如何使用getText()方法获取的URL打开新标签页
Selenium Java 自动化场景(最常见适配场景)
你代码里的WebPublish_URL大概率是Selenium的WebElement实例,要在当前Selenium控制的浏览器中打开新标签页访问该URL,直接执行以下代码即可:
import org.openqa.selenium.JavascriptExecutor; import java.util.ArrayList; // 你已有的获取URL逻辑 String str = WebPublish_URL.getText(); // 兼容无协议头的URL if (!str.startsWith("http")) { str = "https://" + str; } // 执行JS打开新标签页加载目标URL JavascriptExecutor js = (JavascriptExecutor) driver; js.executeScript("window.open(arguments[0], '_blank');", str); // 可选:切换到新打开的标签页继续操作 ArrayList<String> tabs = new ArrayList<>(driver.getWindowHandles()); driver.switchTo().window(tabs.get(tabs.size() - 1));
- 注:用
arguments[0]传参的写法可以避免URL中存在特殊字符导致的语法报错,比字符串拼接更稳妥。
普通Java应用场景
如果是普通Java程序要调用本地默认浏览器打开该URL,用以下代码实现:
import java.awt.Desktop; import java.net.URI; String str = WebPublish_URL.getText(); if (!str.startsWith("http")) { str = "https://" + str; } if (Desktop.isDesktopSupported()) { Desktop.getDesktop().browse(new URI(str)); }
- 该方式会直接唤起系统默认浏览器的新标签页加载目标地址。
内容的提问来源于stack exchange,提问作者Ankita
相关产品推荐
相关产品推荐

