¿Cómo abrir una nueva pestaña en el navegador Firefox existente usando Selenium WebDriver (también conocido como Selenium 2)?
selenium
firefox
selenium-webdriver
browser-tab
Bhakti Shah
fuente
fuente
Respuestas:
El siguiente código abrirá el enlace en una nueva pestaña.
El siguiente código abrirá una nueva pestaña vacía.
fuente
window.open()
, puede esperar que funcione en muchas plataformas / navegadores.Solo para cualquier otra persona que esté buscando una respuesta en enlaces Ruby / Python / C # (Selenium 2.33.0).
Tenga en cuenta que las claves reales para enviar dependen de su sistema operativo, por ejemplo, Mac usa
COMMAND + t
, en lugar deCONTROL + t
.Rubí
Pitón
C#
fuente
driver.switchTo().window(windowName);
acceder a cualquier pestaña o ventana. Obviamente, deberá realizar un seguimiento de los nombres de las ventanas de forma normal para permitir el cambio entre ellos.Porque no hacer esto
fuente
driver.ExecuteScript("window.open('about:blank','_blank');");
Para abrir una nueva pestaña usando JavascriptExecutor,
Controlará en la pestaña según el índice:
Control del conductor en la pestaña principal:
fuente
driver.switchTo().window(tabs.get(1)); driver.get("https://www.stackoverflow.com"); Thread.sleep(2000); driver.switchTo().window(tabs.get(2)); driver.get("https://www.flipkart.com"); Thread.sleep(2000); driver.close(); driver.switchTo().window(tabs.get(1)); Thread.sleep(2000); driver.close(); driver.switchTo().window(tabs.get(0));
, He intentado esto pero obteniendo una matriz fuera de la excepción vinculada, si conoce alguna solución, hágamelo saber.driver.switchTo().window(tabs.get(2));
, esto funciona bien((JavascriptExecutor) driver).executeScript("window.open('https://www.stackoverflow.com','_blank');"); Thread.sleep(3000); ((JavascriptExecutor) driver).executeScript("window.open('https://www.flipkart.com','_blank');");
pero no tendré ningún control para cambiar a Windows.Para abrir una nueva ventana en el controlador de Chrome.
Para cambiar entre pestañas, lea aquí
fuente
Puede usar el siguiente código usando Java con Selenium WebDriver:
Utilizando JavaScript:
Después de abrir una nueva pestaña, debe cambiar a esa pestaña:
fuente
Pruebe esto para el navegador FireFox.
fuente
El siguiente código abrirá el enlace en una nueva ventana
fuente
Casi todas las respuestas aquí están desactualizadas.
WebDriver ahora tiene soporte para abrir pestañas:
Abrirá una nueva pestaña. Abrir una ventana en realidad se ha convertido en un caso no estándar:
La pestaña o ventana no se enfocará automáticamente. Para cambiar a él:
fuente
Para abrir una nueva pestaña en el navegador Chrome existente usando Selenium WebDriver, puede usar este código:
fuente
Tuve problemas para abrir una nueva pestaña en Chrome por un tiempo. Incluso
driver.findElement(By.cssSelector("body")).sendKeys(Keys.CONTROL + "t");
no funcionó para mí.Descubrí que no es suficiente que el selenio se centre en el controlador, Windows también debe tener la ventana en la parte delantera.
Mi solución fue invocar una alerta en Chrome que llevaría la ventana al frente y luego ejecutaría el comando. Código de muestra:
fuente
Estoy usando Selenium 2.52.0 en Java y Firefox 44.0.2. Desafortunadamente, ninguna de las soluciones anteriores funcionó para mí. El problema es que si llamo a driver.getWindowHandles () siempre obtengo 1 identificador único. De alguna manera esto tiene sentido para mí, ya que Firefox es un proceso único y cada pestaña no es un proceso separado. Pero tal vez me equivoque. De todos modos trato de escribir mi propia solución:
Usé la combinación Ctrl + t para abrir una nueva pestaña, Ctrl + w para cerrarla y para volver a la pestaña original usé Ctrl + 1 (la primera pestaña). Soy consciente de que la solución mía no es perfecta o ni siquiera buena y también me gustaría cambiar con el interruptor del conductor para llamar, pero como escribí no fue posible porque solo tenía un identificador. Quizás esto sea útil para alguien con la misma situación.
fuente
fuente
¿Cómo abrir una nueva pestaña usando Selenium WebDriver con Java para Chrome?
El código anterior deshabilitará las primeras extensiones y se abrirá una nueva pestaña usando la clase de robot.
fuente
Esta línea de código abrirá una nueva pestaña del navegador usando selenium webdriver
fuente
*JAVA
Recomiendo usar
JavascriptExecutor
:Importación siguiente:
fuente
Mismo ejemplo para nodejs:
fuente
¿Cómo abrir una nueva pestaña, pero más importante aún, cómo se hacen las cosas en esa nueva pestaña? Webdriver no agrega un nuevo WindowHandle para cada pestaña, y solo tiene el control de la primera pestaña. Entonces, después de seleccionar una nueva pestaña (Control + Número de pestaña), configure .DefaultContent () en el controlador para definir la pestaña visible como la que va a trabajar.
Visual Basic
fuente
Para abrir una nueva pestaña en el navegador Firefox existente usando Selenium WebDriver
fuente
fuente
fuente
consulte este ejemplo completo para comprender cómo abrir varias pestañas y cambiar entre las pestañas y al final cerrar todas las pestañas
Este ejemplo lo da esta página web
fuente
Debido a un error en https://bugs.chromium.org/p/chromedriver/issues/detail?id=1465 aunque webdriver.switchTo en realidad cambia de pestaña, el foco se deja en la primera pestaña. Puede confirmar esto haciendo un driver.get después de switchWindow y ver que la segunda pestaña realmente va a la nueva URL y no a la pestaña original.
Trabajar por ahora es lo que sugirió @ yardening2. Use js para abrir una alerta y luego use webdriver para aceptarla.
fuente
Este código funciona para mí (selenium 3.8.1, chromedriver = 2.34.522940, chrome = 63.0):
fuente
Pregunta : ¿Cómo abrir una nueva pestaña usando Selenium WebDriver con Java?
Respuesta : Después de hacer clic en cualquier enlace, abra una nueva pestaña.
Si queremos manejar la pestaña recién abierta, entonces tenemos que manejar la pestaña usando el comando .switchTo (). Window ().
Cambie a la pestaña particular, luego realice la operación y vuelva a la pestaña principal.
fuente
Selenium no admite la apertura de nuevas pestañas, solo admite la apertura de nuevas ventanas. Para todos los efectos, una nueva ventana es funcionalmente equivalente a una nueva pestaña de todos modos.
Hay varios trucos para solucionar el problema, pero a largo plazo le causarán otros problemas.
fuente
Si desea abrir la nueva pestaña, puede usar esta
Si desea abrir el enlace desde la nueva pestaña, puede usar este
con JavascriptExecutor:
con acciones:
fuente
fuente
Manejo de la ventana del navegador usando Selenium Webdriver:
fuente