2015-07-06 124 views
-1

目前,我有這個代碼。選擇硒中的下拉項目

Select dropdown = new Select(driver.findElement(By.id("pgList"))); 
    dropdown.selectByVisibleText("TestCustomerGroup070615"); 
    driver.findElement(By.id("select1")).click(); 

我也導入了導入org.openqa.selenium.support.ui.Select; ,但它似乎沒有做它說的應該做的事。

而且我認爲它應該被列入我調用此同時打開一個新的窗口:

String winHandleBefore = driver.getWindowHandle(); 

    driver.findElement(By.id("addGlobal")).click(); 

    for(String winHandle : driver.getWindowHandles()){ 
     driver.switchTo().window(winHandle); 
    } 

    Select dropdown = new Select(driver.findElement(By.id("pgList"))); 
    dropdown.selectByVisibleText("TestCustomerGroup070615"); 
    driver.findElement(By.id("select1")).click(); 

    driver.close(); 

    driver.switchTo().window(winHandleBefore); 

出了什麼問題?

此錯誤彈出:

Exception in thread "main"   org.openqa.selenium.support.ui.UnexpectedTagNameException: Element should have been "select" but was "div" 
+0

什麼似乎是問題? – FazoM

+0

它打開新窗口,但根本沒有做任何事情。 –

+0

您是否在新窗口或主窗口上執行操作。先關閉主窗口,然後切換到新窗口。然後繼續在新窗口中進行操作。 –

回答

0

嘗試使用XPath來定義WebElement並單擊它:

By option = By.xpath(//select[@class = 'expression']/option[@value = 'value']); 
driver.findElement(option).click(); 
0
Select dropDown = new Select(driver.findElement(By.id("pgList"))); 

以及這些方法來選擇需要一些備選方案一後:

dropDown.SelectByText("some item text"); 

dropDown.SelectByIndex(2); 

dropDown.SelectByValue("SomeValue");