我是新來這個論壇,我有點新的硒和周圍的一切。我有點熟悉Java,但我當然不是一個親Webdriver + HtmlUnitDriver + Java +下拉
我知道有這樣的線程,但我還沒有找到我的答案呢... 因爲其中一些是在C#或.NET,...。
我使用Webdriver和HtmlUnitDriver,因爲我不想讓Selenium彈出瀏覽器。 一切都必須在後臺完成(不想看到任何東西,只有1個結果(如果一切正常或不))。
好的,這就是說,這裏是情況。 我正在檢查一個網站,在某些時候我需要從下拉列表中選擇一個選項(我們假設第二個選項)。 但問題是,這是不行的......
下面是一些代碼我使用:
public class LoginLogout implements SeleniumTest{
private WebDriver webDriver;
@Override
public void setUp(String baseURL){
webDriver = new HtmlUnitDriver();
}
@Override
public void invoke(){
// Login
webDriver.get("http://website");
webDriver.findElement(By.name("username")).sendKeys("Dummy123456");
webDriver.findElement(By.name("password")).sendKeys("Muddy");
webDriver.findElement(By.className("Submit")).click();
webDriver.findElement(By.name("/catalogue")).click();
webDriver.findElement(By.name("/catalogue/search/synthesis/s10")).click();
webDriver.findElement(By.name("firstYear")).findElement(By.name("2008")).isSelected();
webDriver.findElement(By.name("lastYear")).findElement(By.name("2008")).isSelected();
webDriver.findElement(By.className("Submit")).click();
webDriver.findElement(By.className("Label")).click();
}
@Override
public void tearDown(){
webDriver.close();
}
}
如果我選擇FIRSTYEAR和LASTYEAR,這就是它會錯...
有人能幫我一把! 這將是偉大的,我得到這個工作(在您的幫助)
在此先感謝
感謝您的回覆。當我嘗試 - 選擇selectBox =(選擇)webDriver.findElement(By.name(「firstYear」)); \t \t selectBox.selectByValue(「2008」); - Eclipse強調了這一部分selectByValue,他說:「方法selectByValue(String)是未定義的類型選擇」那該怎麼辦? – user727445 2011-04-28 09:18:11
首先,你使用Selenium 2嗎?我是這麼認爲的,因爲你使用WebDriver。其次確保你正在導入正確的Select類,應該是org.openqa.selenium.support.ui.Select。 – Jberg 2011-04-28 17:00:26
對我來說略有不同:select selectBox = new Select(webDriver.findElement(By.id(elementId))); – 2011-08-03 10:42:04