0

これは、Web ページを開き、入力テキストをテキストフィールドにフィードし、さらに自動的にブラウズしようとする私のコードです。最初のコード: element.sendKeys(Keys.ENTER); は機能していますが、この直後の次の 2 行は私のプログラムでは効果がありません。私はここで立ち往生しています。助けてください

public class GoogleSuggest {
    public static void main(String[] args) {

        WebDriver driver = new FirefoxDriver();

        // And now use this to visit Google
        driver.get("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("vtu results");

        element.sendKeys(Keys.ENTER);

        element.sendKeys(Keys.TAB);
        element.sendKeys(Keys.Enter);


        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("v");
            }
        });

        System.out.println("Page title is: " + driver.getTitle());
    }
}
4

1 に答える 1

0

あなたが実行したいすべてのアクションが明確ではありませんが、私のために働いています。これを試してください:

    driver.get("http://www.google.com");
    WebElement element = driver.findElement(By.name("q"));
    Actions action = new Actions(driver);
    element.sendKeys("result");
    action.sendKeys(element,Keys.ENTER).perform();
    action.sendKeys(Keys.TAB);
    Thread.sleep(2000);
    action.sendKeys(Keys.ENTER).perform();
    Thread.sleep(2000);
    System.out.println("Page title is: " + driver.getTitle());
    (new WebDriverWait(driver, 10)).until(new ExpectedCondition<Boolean>() {
        public Boolean apply(WebDriver d) {
            return d.getTitle().toLowerCase().startsWith("R");
        }
    });

    System.out.println("Page title is: " + driver.getTitle());
}
于 2013-07-06T09:13:42.220 に答える