Selenium y nueva pestaña

¿Cómo puedo abrir un enlace en una nueva pestaña en Selenium webdriver (Firefox)?

<a href='/test' id='test'>Link</a>

driver.find_element_by_id('test').click()

preguntado el 03 de mayo de 12 a las 18:05

2 Respuestas

Parece que su mejor opción en este momento es inyectar una etiqueta de anclaje en la página. Deberá adaptar esto a Python, pero debería ser relativamente sencillo: https://stackoverflow.com/a/9122450/39843

contestado el 23 de mayo de 17 a las 12:05

package com.crm.qa.BaseTest;

import java.awt.AWTException;
import java.awt.Robot;
import java.awt.event.KeyEvent;
import java.util.ArrayList;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;

public class NewTabChrome {

    public static void main(String[] args) throws AWTException {

        System.setProperty("webdriver.chrome.driver", 
                "C:/Users/sunil/Downloads/chromedriver_win32 (2)/chromedriver.exe");

        WebDriver driver = new ChromeDriver();//open browser
        driver.manage().window().maximize();//browser maximize
        driver.get("http://www.google.com");//open google 

        //open new tab 
        for(int i = 0; i<=1;i++){
        Robot rob = new Robot();
        rob.keyPress(KeyEvent.VK_CONTROL);
        rob.keyPress(KeyEvent.VK_T);
        rob.keyRelease(KeyEvent.VK_CONTROL);
        rob.keyRelease(KeyEvent.VK_T);
        ArrayList<String> tabs1 = new ArrayList<String> (driver.getWindowHandles());
        //Switch to new tab
        driver.switchTo().window((String) tabs1.get(i));
    }
        //open facebook
        driver.get("http://facebook.com");
        driver.quit();
    }
}

Respondido 19 Abr '19, 10:04

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.