我正在使用selenium webdriver测试网站。
我也导入了所有jar文件,但仍然无法在eclipse中使用Select Class。它给了我一个错误:Select class cannot be instantiated.
我还导入了org.openqa.selenium.support.ui.Select
以下是我的源代码
import org.apache.bcel.generic.Select;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.support.ui.Select;
public class Dropdown {
public static void main(String[] args) {
// TODO Auto-generated method stub
WebDriver driver = new FirefoxDriver();
driver.get("http://www.makemytrip.com");
WebElementaddress=driver.findElement(By.xpath(".//[@id='to_typeahead1']"));
Select sc = new Select (address); // ERROR LINE
sc.selectByIndex(5);
}
}
答案 0 :(得分:2)
您可以尝试以下方法。让我们把它分解成几部分。
Select sc = new Select(driver.findElement(By.xpath("your Xpath match case")));
**//this will get the dropdown into sc object**
List<WebElement> we = sc.getOptions(); **//to get the options values into list**
System.out.println(we.size()); **//to print the size in console, this and
previous lines for debug/cross checking**
sc.selectByIndex(5); **//this will select the 5th index and 6th value(indexing starts from 0)**
干杯!
答案 1 :(得分:0)
Import org.openqa.selenium.support.ui.Select; package in your project, instead of org.apache.bcel.generic.Select;
错误会消失。
答案 2 :(得分:-1)
我看到你提供的Xpath不正确。
它应该是.//*[@id='to_typeahead1']
此外,此元素不是选择框。它是一个输入框。 您可以尝试的是单击元素,然后尝试单击要选择的选项。
答案 3 :(得分:-2)
我使用了org.openqa.selenium.support.ui.Select
包,但效果很好。
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.support.ui.Select;
import org.testng.annotations.Test;
public class NewClassTest {
WebDriver driver = new FirefoxDriver();
@Test
public void selectOption() {
driver.get("http://www.w3schools.com/tags/tryit.asp?filename=tryhtml_select");
WebElement address = driver.findElement(By.tagName("select"));
Select ab = new Select(address);
}
}