当前位置: 首页 > 知识库问答 >
问题:

如何使用Selenium WebDriver打开新选项卡并启动链接?

窦夜洛
2023-03-14

如何使用Selenium WebDriver打开新标签

我想在新选项卡中打开多个链接。这是为了尽快完成构建验证任务。因此,在每个新选项卡中,所有与烟雾测试相关的链接都可以打开,然后在每个与烟雾测试要求相对应的选项卡中,我们可以执行健全性测试。

共有3个答案

瞿文柏
2023-03-14

/*在浏览器中打开新选项卡*/

public void openNewTab()

{
    driver.findElement(By.cssSelector("body")).sendKeys(Keys.CONTROL +"t");
    ArrayList<String> tabs = new ArrayList<String> (driver.getWindowHandles());
    driver.switchTo().window(tabs.get(0));

}
雷方伟
2023-03-14

在新选项卡中打开链接的唯一方法是模拟键盘快捷方式。以下在FFX、Chrome中适用

  1. Ctrl t将打开一个空白的新选项卡,并将焦点切换到该选项卡
  2. 按住Ctrl键,然后单击链接将在新选项卡中打开链接,但将焦点放在现有选项卡上。
  3. 按住Ctrl和Shift键,然后单击将在新选项卡中打开链接,并将焦点移到新选项卡上。
  4. Ctrl w将关闭当前选项卡,并将焦点切换到最后一个打开的选项卡(但请注意,Ctrl w即Ctrl Shift w将关闭所有选项卡!)

Selenium(目前)在浏览器窗口中没有任何选项卡的概念,因此为了打开选项卡然后对其进行测试,您必须使用选项3。

下面的代码将执行选项3。然后立即关闭该新选项卡

new Actions(WebDriver)
    .KeyDown(Keys.Control)
    .KeyDown(Keys.Shift)
    .Click(tab)
    .KeyUp(Keys.Shift)
    .KeyUp(Keys.Control)
    .Perform();

new Actions(WebDriver)
    .SendKeys(Keys.Control + "w")
    .Perform();

您也可以使用:

.MoveToElement(tab)
.Click()

在第一个选项的中间,以及

.KeyDown(Keys.Control)
.KeyDown("w")
.KeyUp("w")
.KeyUp(Keys.Control)

在第二个。

隆兴修
2023-03-14

代码:

WebDriver wd = new FirefoxDriver();
wd.get("http://www.gmail.com");

wd.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);    
wd.manage().window().maximize();
//To open a new tab         
Robot r = new Robot();                          
r.keyPress(KeyEvent.VK_CONTROL); 
r.keyPress(KeyEvent.VK_T); 
r.keyRelease(KeyEvent.VK_CONTROL); 
r.keyRelease(KeyEvent.VK_T);    
//To switch to the new tab
ArrayList<String> tabs = new ArrayList<String>(wd.getWindowHandles());
wd.switchTo().window(tabs.get(1));
//To navigate to new link/URL in 2nd new tab
wd.get("http://facebook.com");
 类似资料:
  • 问题内容: 如何使用Selenium WebDriver打开新选项卡? 我想在新标签页中打开多个链接。这是为了尽快完成构建验证任务。因此,可以在每个新选项卡中打开所有与烟雾测试相关的链接,然后在与烟雾测试要求相对应的每个选项卡中,我们可以执行完整性测试。 问题答案: 码:

  • 问题内容: 新标签页正在打开,但URL链接未打开。 问题答案: 我检查了以下代码,它对我来说很好。我从这里找到了答案。

  • 请告知如何使用Python selenium Chrome WebDriver在新选项卡中打开链接。所以,我不是在问如何简单地打开一个新标签,也不是在问如何用Firefox打开一个新标签。 此选项卡将在新选项卡中打开相同的页面: 因此,当试图通过Selenium或requests访问此元素的链接时,它将重定向到搜索结果本身的页面。有鉴于此,我决定用一种不同的方法来解决这个问题。 因此,我决定放弃在

  • 问题内容: 如何使用Selenium WebDriver(又名Selenium 2)在现有的Firefox浏览器中打开新标签页? 问题答案: 以下代码将在新标签页中打开链接。 下面的代码将打开空白的新标签页。

  • 我是编码新手。以我的知识在已经成功登录。在主页中,当我单击指定的链接时,它会在新选项卡中打开,这是预期的行为。现在,当我尝试点击新打开的选项卡中的元素时,我没有得到这样的元素异常,因为驱动程序实例指向第一个选项卡,而不是第二个选项卡。如何获取新打开的标签页的驱动程序实例。下面是我使用的代码。 //这是基类。 //这是登录测试。 //在新打开的标签中,我需要点击一些元素。这是我正在使用的代码。 请帮

  • 我想打开我在新选项卡中找到的网站链接。我已经尝试打开一个新的标签,并将链接的url传递给这里建议的驱动程序,然而,新的标签根本不会打开。(关于如何打开新标签,还有其他几个建议,但似乎都不适合我。) 因此,我最近的尝试是右键单击链接并按“T”以在新选项卡中打开链接,如下所示: