2013-03-07 36 views
0

我使用Selenium v​​2.30.0和Firefox 19.0。當我執行下面的代碼:Selenium嘗試連接到本地主機,同時瀏覽到外部URL

public class First_Example { 

    public static void main(String[] args) { 
     // Create a new instance of the Firefox driver 
     // Notice that the remainder of the code relies on the interface, 
     // not the implementation. 
     WebDriver driver = new FirefoxDriver(); 

     // And now use this to visit Google 
     driver.get("http://www.google.com"); 

     // Alternatively the same thing can be done like this 
     // driver.navigate().to("http://www.google.com"); 

     // Find the text input element by its name 
     WebElement element = driver.findElement(By.name("q")); 

     // Enter something to search for 
     element.sendKeys("Cheese!"); 

     // Now submit the form. WebDriver will find the form for us from the element 
     element.submit(); 

     // Check the title of the page 
     System.out.println("Page title is: " + driver.getTitle()); 

     // Google's search is rendered dynamically with JavaScript. 
     // Wait for the page to load, timeout after 10 seconds 
     (new WebDriverWait(driver, 10)).until(new ExpectedCondition<Boolean>() { 
      public Boolean apply(WebDriver d) { 
       return d.getTitle().toLowerCase().startsWith("cheese!"); 
      } 
     }); 

     // Should see: "cheese! - Google Search" 
     System.out.println("Page title is: " + driver.getTitle()); 

     //Close the browser 
     driver.quit(); 
    } 
} 

我得到一個錯誤說:

「無法連接後45000毫秒到主機端口7055 localhost」 的

我搜索無處不在的答案沒有成功。所有幫助讚賞。

+0

您是否嘗試過備用'driver.navigate()至( 「http://www.google.com」);'? – christopher 2013-03-07 12:19:44

回答

0

好像有些問題,同時等待響應

試試這個代碼,而不是:

public static void main(String[] args) 
{ 
    WebDriver driver = new FirefoxDriver(); 
    driver.get("http://www.google.com/"); 
    WebElement query = driver.findElement(By.name("q")); 
    query.sendKeys("Cheers!"); 

    // Sleep until the div we want is visible or 5 seconds is over 
    long end = System.currentTimeMillis() + 5000; 
    while (System.currentTimeMillis() < end) { 
     WebElement resultsDiv = driver.findElement(By.className("gssb_e")); 

     // If results have been returned, the results are displayed in a drop down. 
     if (resultsDiv.isDisplayed()) { 
      break; 
     } 
    } 

    // And now list the suggestions 
    List<WebElement> allSuggestions = driver.findElements(By.xpath("//td[@class='gssb_a gbqfsf']")); 

    for (WebElement suggestion : allSuggestions) { 
     System.out.println(suggestion.getText()); 
    } 
} 
相關問題