1

www.google.comを1つのタブで開き、新しいタブを開いてwww.facebook.com
を開きたい以下のコードを使用していますが、最初のタブでfacebookを開きます

driver.get("www.google.com");    
driver.findElement(By.tagName("Body")).sendKeys(keys.CONTROL + "t");//opens new tab  
driver.get("www.facebook.com");//but load facebook in first tab i.e on google page  

これは、同じ名前の driver.get を使用しているためですか??

4

2 に答える 2

1

新しいタブを開くコードが機能した場合は、 を使用driver.switchTo().window()して、新しく開いたタブに切り替えることができます (ここで見られるように)。

ただし、タブが開かなかった場合、Selenium にはこれを行うためのメカニズムが用意されていないため、その周りに実装する必要があります (java.awt.Robotクラスを使用するなど) 。

また、WebDriver の 2 つの異なるインスタンスを使用することを検討し、両方のサイトを独自のウィンドウで実行することも検討してください。

于 2013-09-30T07:54:19.730 に答える
0

以下のように java awt Robot クラスを使用します。

          driver.get("http://www.google.com");    
          Robot r = new Robot();        
          r.keyPress(KeyEvent.VK_CONTROL);
          r.keyPress(KeyEvent.VK_T);
          r.keyRelease(KeyEvent.VK_CONTROL);
          r.keyRelease(KeyEvent.VK_T);
          driver.get("http://www.facebook.com");
于 2013-09-30T07:40:34.597 に答える