0

我的意图是从 RedBus 站点的下拉列表(从字段)中选择一个值。我正在使用 Xpath 来选择它。

我正在使用以下代码:

WebDriver driver=new FirefoxDriver();
        driver.get("http://www.redbus.in/");
        driver.manage().timeouts().implicitlyWait(60, TimeUnit.SECONDS);
        driver.findElement(By.id("DDLSource")).sendKeys("Chenn");
        driver.manage().timeouts().implicitlyWait(50, TimeUnit.SECONDS);
        driver.findElement(By.xpath(".//*[@id='123']")).click();

但它不起作用。仅发送值但不选择。

任何人都可以请帮助我......

4

3 回答 3

2

试试看

Select selectBox = new Select(driver.findElement(By.id("DDLSource")));
selectBox.selectByVisibleText(aText);
于 2013-09-25T08:57:06.003 回答
2

为了单击下拉列表中的某些内容,您必须使用 WebDriver 功能:

new Select(dropdownElement).selectByVisibleText(textValue);

dropdownElement 是一个 WebElement,你可以在那里使用 driver.findElementBy...

于 2013-09-25T08:57:54.073 回答
1

我已经在 Firefox 中测试了以下代码,并且可以正常工作。如果你想选择一个像 chennai 这样的城市,那么只需在 from 文本框中输入 c,你就会得到一个以 c 开头的所有城市的列表。这也将使下拉元素变得可见。在此之后使用 xpath 并更改城市的名称以在下拉列表中选择它。希望这可以帮助。快乐编码。

WebDriver driver = new FirefoxDriver();
        driver.get("http://www.redbus.in");
        driver.findElement(By.xpath("//input[@id = 'DDLSource']")).sendKeys("c");
 //Pass the city name like Chennai instead of Chakshu
            driver.findElement(By.xpath("//dl[@id = 'lis']//dt[text()='Chakshu']")).click(); 
于 2013-09-25T10:55:00.080 回答