2016-07-15 63 views
1

我有一個網站,其中當我按下click按鈕時,它打開與同一瀏覽器中的鏈接的新標籤。專注於最近打開的標籤使用硒webdriver

我想告訴硒專注於最近打開的選項卡。

我嘗試了很多方法,但沒有一個對我而言似乎很有幫助。

我曾嘗試:

方法1:

driver.findElement(By.cssSelector("body")).sendKeys(Keys.CONTROL); 
driver.findElement(By.cssSelector("body")).sendKeys(Keys.TAB); 

方法2:

((JavascriptExecutor) webDriver).executeScript("window.focus();"); 

方法3:

driver.switchTo().window(driver.getWindowHandles().last()); 

回答

1

試試這個code,使用Java機器人。這對我有效。

ArrayList<String> tabs2 = new ArrayList<String>(driver.getWindowHandles()); 
     System.out.println(tabs2.size()); 

     for (int i = tabs2.size()-1; i>=0; i--) { 
      Thread.sleep(2000); 
      driver.switchTo().window(tabs2.get(i)); 
      Robot robot = new Robot(); 

      robot.keyPress(KeyEvent.VK_CONTROL); 
      robot.keyPress(KeyEvent.VK_TAB); 
      robot.keyRelease(KeyEvent.VK_TAB); 
      robot.keyRelease(KeyEvent.VK_CONTROL); 
      System.out.println(driver.getTitle() + "i: " + i); 
      // do what you needed 
     } 
+1

完美。非常感謝。這是工作。 –