0

Seleniumv2.30.0とFirefox19.0を使用しています。以下のコードを実行すると:

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でホストローカルホストに接続できません」

私はどこでも答えを探しましたが、成功しませんでした。すべての助けに感謝します。

4

2 に答える 2

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());
    }
}
于 2013-03-07T12:22:33.560 に答える
0

Selenium を v2.31 に更新する必要があります。Firefox 19 はそれ以下ではサポートされていません。

https://code.google.com/p/selenium/downloads/list

于 2013-03-07T15:57:56.873 に答える