Как открыть новую вкладку с помощью Selenium WebDriver в Java?
Как я могу открыть новую вкладку в существующем браузере Firefox, используя Selenium WebDriver (также известный как Selenium 2) в Java?
Переведено автоматически
Ответ 1
Просто для всех, кто ищет ответ в привязках Ruby, Python и C # (Selenium 2.33.0).
Обратите внимание, что фактические ключи для отправки зависят от вашей операционной системы. Например, Mac использует CMD + T вместо Ctrl + T.
require 'selenium-webdriver'driver = Selenium::WebDriver.for :firefoxdriver.get('http://javalang.ru/')body = driver.find_element(:tag_name => 'body')body.send_keys(:control, 't')driver.quit
from selenium import webdriverfrom selenium.webdriver.common.keys import Keysdriver = webdriver.Firefox()driver.get("http://javalang.ru/")body = driver.find_element_by_tag_name("body")body.send_keys(Keys.CONTROL + 't')driver.close()
using OpenQA.Selenium;using OpenQA.Selenium.Firefox;namespace StackOverflowTests { class OpenNewTab { static void Main(string[] args) { IWebDriver driver = new FirefoxDriver(); driver.Navigate().GoToUrl("http://javalang.ru/"); IWebElement body = driver.FindElement(By.TagName("body")); body.SendKeys(Keys.Control + 't'); driver.Quit(); } }}
Ответ 2
Приведенный ниже код откроет ссылку в новой вкладке.
String selectLinkOpeninNewTab = Keys.chord(Keys.CONTROL,Keys.RETURN);driver.findElement(By.linkText("urlLink")).sendKeys(selectLinkOpeninNewTab);
Приведенный ниже код откроет пустую новую вкладку.
String selectLinkOpeninNewTab = Keys.chord(Keys.CONTROL,"t");driver.findElement(By.linkText("urlLink")).sendKeys(selectLinkOpeninNewTab);
Ответ 3
Почему бы не сделать это
driver.ExecuteScript("window.open('your url','_blank');");
Ответ 4
Чтобы открыть новую вкладку с помощью JavascriptExecutor,
((JavascriptExecutor) driver).executeScript("window.open()");ArrayList<String> tabs = new ArrayList<String>(driver.getWindowHandles());driver.switchTo().window(tabs.get(1));
Будет управлять вкладкой в соответствии с индексом:
driver.switchTo().window(tabs.get(1));
Управление драйвером на главной вкладке:
driver.switchTo().window(tabs.get(0));