2016-07-15 11 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

パーフェクト。どうもありがとう。それは働いている。 –

関連する問題