Selenium WebDriver (일명 Selenium 2)를 사용하여 기존 Firefox 브라우저에서 새 탭을 여는 방법은 무엇입니까?
답변
아래 코드는 새 탭에서 링크를 엽니 다.
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);
답변
Ruby / Python / C # 바인딩 (Selenium 2.33.0)에서 답을 찾고있는 다른 사람을위한 것입니다.
전송의 실제 키는 예를 들어, 맥 사용을 위해, 당신의 OS에 따라 달라집니다 COMMAND + t
대신, CONTROL + t
.
루비
require 'selenium-webdriver'
driver = Selenium::WebDriver.for :firefox
driver.get('http://stackoverflow.com/')
body = driver.find_element(:tag_name => 'body')
body.send_keys(:control, 't')
driver.quit
파이썬
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
driver = webdriver.Firefox()
driver.get("http://stackoverflow.com/")
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://stackoverflow.com/");
IWebElement body = driver.FindElement(By.TagName("body"));
body.SendKeys(Keys.Control + 't');
driver.Quit();
}
}
}
답변
왜 안돼
driver.ExecuteScript("window.open('your url','_blank');");
답변
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));
답변
Chrome 드라이버에서 새 창을 열려면.
//The script that will will open a new blank window
//If you want to open a link new tab, replace 'about:blank' with a link
String a = "window.open('about:blank','_blank');";
((JavascriptExecutor)driver).executeScript(a);
답변
Selenium WebDriver와 함께 Java를 사용하여 다음 코드를 사용할 수 있습니다.
driver.findElement(By.cssSelector("body")).sendKeys(Keys.CONTROL + "t");
JavaScript를 사용하여 :
WebDriver driver = new FirefoxDriver();//FF or any other Driver
JavascriptExecutor jse = (JavascriptExecutor)driver;
jse.executeScript("window.open()");
새 탭을 연 후 해당 탭으로 전환해야합니다.
ArrayList<String> tabs = new ArrayList<String>(driver.getWindowHandles());
driver.switchTo().window(tabs.get(1));
답변
FireFox 브라우저에서 사용해보십시오.
/* Open new tab in browser */
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));
}