selenium - 无法在新选项卡中打开新选项卡替换第一个选项卡,而不是在 Firefox 中打开新选项卡
问题描述
public class TestTabs {
public WebDriver driver;
public WebDriver getDriver() {
return driver;
}
@Before
public void setUp() throws Exception {
System.setProperty("webdriver.gecko.driver","/Users/Test/Downloads/geckodriver");
driver = new FirefoxDriver();
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
driver.manage().window().maximize();
//driver.findElement(By.cssSelector("body")).sendKeys(Keys.COMMAND+ "t");
}
@Test
public void openSameUrlInMultipleTab() throws InterruptedException {
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
driver.get("http://seleniumlearn.com/selenium-tutorial");
{
driver.findElement(By.cssSelector("body")).sendKeys(Keys.COMMAND+ "t");
driver.get("https://www.facebook.com");
}
}
}
我正在使用上面的代码在一个浏览器中打开多个选项卡,但是当我在 Firefox (iMac mini) 中运行此代码时,我没有收到任何错误消息并且代码已通过,但第二个链接在同一选项卡中而不是在新选项卡中打开. 如何在 Mac 的 Firefox 中打开多个标签页?
解决方案
每个选项卡都被视为一个新窗口。使用 切换到新选项卡switch.to().window()
。
driver.switchTo().window(winHandle);
driver.get("your new url goes here");
如果要切换到默认浏览器(基本浏览器),请在下面的用户行。
driver.switchTo().defaultContent();
推荐阅读
- linux - 无法使用 ImageMagick 打开 .jpg、.png 或 .tif 文件,只能使用 .gif 文件
- python - `isinstance` 与 `collecitons.abc.Collection` 和 `collections.abc.Mapping` 的不同结果
- vb.net - VB.NET 在拖放时检查 keydown
- java - 通过 Maven / Eclipse 导入 Spotify API 客户端库
- python - 带有 configparser 的打开函数的 TypeError
- azure - 在 terraform 中,如何为 azure 中的应用服务设置新的路径映射?
- android - 浏览器的 ADB 查询
- c++ - 为什么启用未定义的行为清理会干扰优化?
- c# - 为什么这行代码对 string[] 做一些事情会返回 bool?
- python-3.x - 如何在 `os.system` 或 `popen` 中使用多个参数