2016-11-30 3 views
0

Bei der Recherche fand ich heraus, dass Control + t nicht für den Chrome-Webtreiber funktioniert. Im Folgenden sind einige, die ich versucht habe, und hat nicht funktioniert:Wie öffnet man einen neuen Chrom-Tab mit Selen-Webdriver?

String selectLinkOpeninNewTab = Keys.chord(Keys.CONTROL,"t"); 
    driver.findElement(By.tagName("body")).sendKeys(selectLinkOpeninNewTab); 
    driver.get("www.facebook.com"); 

und

WebElement element = driver.findElement(By.linkText("Gmail")); 
    Actions actionOpenLinkInNewTab = new Actions(driver); 
    actionOpenLinkInNewTab.moveToElement(element) 
          .keyDown(Keys.COMMAND) 
          .keyDown(Keys.SHIFT) 
          .click(element) 
          .keyUp(Keys.COMMAND) 
          .keyUp(Keys.SHIFT) 
          .perform(); 

    ArrayList tabs = new ArrayList (driver.getWindowHandles()); 
    driver.switchTo().window(tabs.get(1)); 
    driver.get("http://www.yahoo.com"); 
    driver.close(); 

    driver.switchTo().window(tabs.get(0)); 
    driver.get("http://www.yahoo.com"); 

    driver.close(); 

und

ArrayList<String> tabs = new ArrayList<String> (driver.getWindowHandles()); 
    driver.switchTo().window(tabs.get(1)); //switches to new tab 
    driver.get("https://www.facebook.com"); 
} 

Wurden alle Sie in der Lage, um dies zu treten?

Antwort

1

C#

diesen Code verwenden neuen Tab & Umschalten zwischen Laschen zu öffnen:

Verwenden Kellner.

Registerkarte Index beginnt von 0 für 1. Registerkarte.

var body = Waiter.Until(ExpectedConditions.PresenceOfAllElementsLocatedBy(By.TagName("body"))).FirstOrDefault(); 
body.SendKeys(Keys.Control + 't'); 
var tabs = GlobalDriver.WindowHandles; 
GlobalDriver.SwitchTo().Window(tabs[1]); 
GlobalDriver.Navigate().GoToUrl("Url"); 

Der Code ist in C#

Es wird in Java irgendwie ähnlich sein, nur die Syntax wird anders sein.

Hoffe das hilft dir!

0

können Sie Java-Roboter mit Strg + t senden (oder Cmd + t, wenn Mac OS X) und das Warte auf den neuen Handgriff geöffnet werden, zum Beispiel:

// Open URL in default tab 
driver.get("https://wikipedia.org/"); 

// If Mac OS X, the key combination is CMD+t, otherwise is CONTROL+t 
int vkControl = IS_OS_MAC ? KeyEvent.VK_META : KeyEvent.VK_CONTROL; 
Robot robot = new Robot(); 
robot.keyPress(vkControl); 
robot.keyPress(KeyEvent.VK_T); 
robot.keyRelease(vkControl); 
robot.keyRelease(KeyEvent.VK_T); 

// Wait up to 5 seconds to the second tab to be opened 
WebDriverWait wait = new WebDriverWait(driver, 5); 
wait.until(ExpectedConditions.numberOfWindowsToBe(2)); 

// Switch to new tab 
List<String> windowHandles = new ArrayList<>(driver.getWindowHandles()); 
System.err.println(windowHandles); 
driver.switchTo().window(windowHandles.get(1)); 

// Open other URL in second tab 
driver.get("https://google.com/"); 

Here Sie haben einen Lauf Beispiel mit Chrome als Browser.

Verwandte Themen