title: org.openqa.selenium.InvalidArgumentException: unknown error: unsupported protocol
body: <p>I added all the links from web-page in <code>Arraylist</code> and then hit all the URLs one by one. </p>
  
  <pre><code>public class Redirectionlinked1 
  {
      public static List findAllLinks(WebDriver driver)
      { 
          List &lt;WebElement&gt; elementList = new ArrayList();
          elementList = driver.findElements(By.tagName("a"));
          elementList.addAll(driver.findElements(By.tagName("img")));
  
          List finalList = new ArrayList();
          for(WebElement element : elementList)
          {
              if (element.getAttribute("href") != null)
              {
                  finalList.add(element);
              }
          }
          return finalList;
      }
  
      public static void main(String[] args) throws Exception 
      {
          System.setProperty("webdriver.gecko.driver", "E:\\Softwares\\gecko\\geckodriver-v0.16.1-win64\\geckodriver.exe");
          System.setProperty("webdriver.chrome.driver", "E:\\chromedriver.exe");
  
          WebDriver driver = new ChromeDriver();
          driver.get(" http://testsite.com");
          List &lt;WebElement &gt; allImages = findAllLinks(driver);
  
          System.out.println("Total number of elements found " + allImages.size());
          driver = new ChromeDriver ();
          URI uri =null;
          for (WebElement element : allImages) {
          if (!driver.getCurrentUrl().equals(element.getAttribute("href")) &amp;&amp; driver.)
          {
              driver.manage().deleteAllCookies();
              driver.get(element.getAttribute("href"));
              driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
              Thread.sleep(500);
              System.out.println(element.getAttribute("href"));
              uri = new URI(driver.getCurrentUrl());
              try 
              {
                  if(uri.getHost().equalsIgnoreCase("SpecificDomain.net"))
                  {
                      System.out.println(" Redirected URL--&gt;&gt; "+element.getAttribute("href"));
                  }
              } 
              catch (Exception e) 
              {
                      e.printStackTrace();
              }
          }
     }
  }
  </code></pre>
  
  <p>Code works as expected (it launches the URL in browser) for first link later throws an error :</p>
  
  <blockquote>
    <p>Exception in thread "main"
    org.openqa.selenium.InvalidArgumentException: unknown error:
    unsupported protocol
          (Session info: chrome=58.0.3029.110)
          (Driver info: chromedriver=2.26.436362 (5476ec6bf7ccbada1734a0cdec7d570bb042aa30),platform=Windows NT
    6.1.7601 SP1 x86_64) (WARNING: The server did not provide any stacktrace information)
        Command duration or timeout: 131 milliseconds
        Build info: version: 'unknown', revision: '3169782', time: '2016-09-29 10:24:50 -0700'
        System info: host: 'ETPUN-LT009', ip: '192.168.2.193', os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.version:
    '1.8.0_111'
        Driver info: org.openqa.selenium.chrome.ChromeDriver
        Capabilities [{applicationCacheEnabled=false, rotatable=false, mobileEmulationEnabled=false, networkConnectionEnabled=false,
    chrome={chromedriverVersion=2.26.436362
    (5476ec6bf7ccbada1734a0cdec7d570bb042aa30),
    userDataDir=C:\scoped_dir12784_32532}, takesHeapSnapshot=true,
    pageLoadStrategy=normal, databaseEnabled=false, handlesAlerts=true,
    hasTouchScreen=false, version=58.0.3029.110, platform=XP,
    browserConnectionEnabled=false, nativeEvents=true,
    acceptSslCerts=true, locationContextEnabled=true,
    webStorageEnabled=true, browserName=chrome, takesScreenshot=true,
    javascriptEnabled=true, cssSelectorsEnabled=true,
    unexpectedAlertBehaviour=}]
        Session ID: df813868289a8f15f947ac620b3b1882
          at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
          at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
          at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
          at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
          at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:206)
          at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:164)
          at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:636)
          at org.openqa.selenium.remote.RemoteWebDriver.get(RemoteWebDriver.java:323)
          at Practices.Redirectionlinked1.main(Redirectionlinked1.java:99)</p>
  </blockquote>
  
  <p>My configurations are :-</p>
  
  <blockquote>
    <p>Chrome - Version 58.0.3029.110 (64-bit)</p>
    
    <p>Geckodriver-v0.16.1-win64</p>
    
    <p>Windows -7</p>
    
    <p>Java - 1.8.1</p>
  </blockquote>