2016-06-28 4 views
1

Googleの検索結果を新しいタブに開きたいとします。私はこのコードを試しました:Googleの新しいタブへのリンクを開く

WebDriver driver = new ChromeDriver(); 
     driver.get("http://www.google.com/xhtml"); 
     Thread.sleep(5000); 
     WebElement searchBox = driver.findElement(By.name("q")); 
     searchBox.sendKeys("ChromeDriver"); 
     searchBox.submit(); 

     System.out.println("Current Url: " + driver.getCurrentUrl()); 

     WebDriverWait wait = new WebDriverWait(driver, 10); 
     wait.until(ExpectedConditions.presenceOfElementLocated(By.cssSelector("h3.r a"))); 

     List<WebElement> results = driver.findElements(By.xpath("//h3[@class='r']/a")); 

     for (int i = 0; i < results.size(); i++) 
     { 
      String selectLinkOpeninNewTab = Keys.chord(Keys.CONTROL,Keys.RETURN); 
      driver.findElement(By.xpath("//h3[@class='r']/a")).sendKeys(selectLinkOpeninNewTab); 

      System.out.println("Google result " + results.get(i).getText()); 
     } 

これまでのところ、コードは空のタブを開き、検索結果の名前を表示します。検索結果からリンクをどのように開くことができますか?

+0

を試してみて、私はよあなたのコードを試して..それだけで11の新しいタブを開くhttps://sites.google.com/a/chromium.org/chromedriver/のような同じURLです。だから、基本的に何が失敗ですか? –

+0

Googleの結果から各タブにリンクを開く必要があります。 –

+0

メインページに表示されているすべての結果が新しいタブで開きますか? –

答えて

1

だけloop内の行の下に変更します - それは働いて

results.get(i).sendKeys(selectLinkOpeninNewTab); 

driver.findElement(By.xpath("//h3[@class='r']/a")).sendKeys(selectLinkOpeninNew‌​Tab); 

... :)

1

このコード

System.setProperty("webdriver.chrome.driver", "D:/WorkSpace/Driver/chromedriver.exe"); 
     WebDriver driver = new ChromeDriver(); 

     driver.get("http://www.google.com/xhtml"); 
     Thread.sleep(5000); 
     WebElement searchBox = driver.findElement(By.name("q")); 
     searchBox.sendKeys("ChromeDriver"); 
     searchBox.submit(); 

     System.out.println("Current Url: " + driver.getCurrentUrl()); 

     WebDriverWait wait = new WebDriverWait(driver, 10); 
     wait.until(ExpectedConditions.presenceOfElementLocated(By.cssSelector("h3.r a"))); 

     List<WebElement> results = driver.findElements(By.xpath("//h3[@class='r']/a")); 

     for (WebElement ele : results) { 
      String selectLinkOpeninNewTab = Keys.chord(Keys.CONTROL, Keys.RETURN); 
      ele.sendKeys(selectLinkOpeninNewTab); 


     } 
関連する問題