如何在java中使用webdriver执行多个关键操作

如何在java中使用webdriver执行多个关键操作,java,selenium-webdriver,Java,Selenium Webdriver,这是我的代码,它打开一个网页,将输入文本输入到textfield,并尝试进一步自动浏览。第一个代码:element.sendKeys(key.ENTER);正在运行,但紧接着的下两行在我的程序中没有效果。我被困在这里了。请帮帮我 public class GoogleSuggest { public static void main(String[] args) { WebDriver driver = new FirefoxDriver(); //

这是我的代码,它打开一个网页,将输入文本输入到textfield,并尝试进一步自动浏览。第一个代码:element.sendKeys(key.ENTER);正在运行,但紧接着的下两行在我的程序中没有效果。我被困在这里了。请帮帮我

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());
    }
}
public类GoogleSuggest{
公共静态void main(字符串[]args){
WebDriver=newfirefoxdriver();
//现在用这个来访问谷歌
驱动程序。获取(“http://www.google.com");
//按名称查找文本输入元素
WebElement=driver.findElement(By.name(“q”));
//输入要搜索的内容
元素。发送键(“vtu结果”);
元素。sendKeys(key.ENTER);
元素sendKeys(key.TAB);
元素。sendKeys(key.Enter);
System.out.println(“页面标题为:“+driver.getTitle());
//谷歌的搜索是用JavaScript动态呈现的。
//等待页面加载,10秒后超时
(新的WebDriverWait(驱动程序,10))。直到(新的预期条件(){
公共布尔应用(WebDriver d){
返回d.getTitle().toLowerCase().startsWith(“v”);
}
});
System.out.println(“页面标题为:“+driver.getTitle());
}
}

不清楚您希望执行的所有操作,但以下操作对我有效。 试试这个:

    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());
}
driver.get(“http://www.google.com");
WebElement=driver.findElement(By.name(“q”));
动作动作=新动作(驱动);
元素。发送键(“结果”);
action.sendKeys(元素,Keys.ENTER).perform();
action.sendKeys(key.TAB);
《睡眠》(2000年);
action.sendKeys(key.ENTER).perform();
《睡眠》(2000年);
System.out.println(“页面标题为:“+driver.getTitle());
(新的WebDriverWait(驱动程序,10))。直到(新的预期条件(){
公共布尔应用(WebDriver d){
返回d.getTitle().toLowerCase().startsWith(“R”);
}
});
System.out.println(“页面标题为:“+driver.getTitle());
}

嗯,你想做什么?如果您在google搜索字段中实际按
enter
,它将提交表单并将您的客户端(自动或非自动)转移到新页面。在每个命令之后使用sleep:element.sendKeys(Keys.enter);元素sendKeys(key.TAB);元素。sendKeys(key.Enter);看看会发生什么;应该是d.getTitle().toLowerCase().startsWith(“r”);正确的?