2013-09-25 5 views
0

Мое намерение - выбрать значение из раскрывающегося списка (из поля) на сайте RedBus. И я использую Xpath, чтобы выбрать его.Нужно выбрать выпадающее значение с помощью xpath в Selenium Webdriver

Я использую следующий код:

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(); 

Но это не работает. Только отправка значений, но не выбор.

Может кто-нибудь, пожалуйста, помогите мне ....

+0

Если вам нужно выбрать значение из таких выпадающих списков, вам необходимо сначала нажать на текстовое поле. Это делает видимым всплывающее окно, после чего вам нужно выполнить операцию щелчка, используя xpath для имени города. Дайте мне знать, если вам нужна дополнительная помощь. – Vinay

+0

Я точно пробовал то же, что вы говорите. Я выбрал текстовое поле и передал значения «chenn» 2. Затем он показывает мне вариант 3. Но я не мог выбрать значение из него. Можете ли вы мне помочь? – Shyamala

ответ

1

Я тестировал следующий код в firefox, и он работает. Если вы хотите выбрать город, например, chennai, просто введите 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(); 
+0

Он работает vinay.Но, пожалуйста, дайте мне знать. // dl [@id = 'lis'] // dt [text() = 'Chakshu'] "как вы найдете этот путь ? Или написал html-код самостоятельно. – Shyamala

+0

Вот как писать xpath. Не уверен, есть ли сайт, который может обучить вас этому. Будут держать вас в курсе, если я найду сайт для изучения xpath. – Vinay

+0

oku Я новичок в selenium. Но я пытаюсь так же выбрать «В поле» с xpath «driver.findElement (By.id (« DDLDestination »)). SendKeys (« th »); driver.findElement (By. xpath ("// dl [@id = 'lis'] // dt [text() = 'Theni']")). click(); ". Но это не работает. Вы можете мне помочь? – Shyamala

2

Попробуйте с

Select selectBox = new Select(driver.findElement(By.id("DDLSource"))); 
selectBox.selectByVisibleText(aText); 
+0

Но я должен отправить несколько ключей, чтобы получить предлагаемые optins. Пожалуйста, зайдите на сайт один раз для лучшего понимания. – Shyamala

2

Для того, чтобы нажав на что-то на выпадающем списке, вы должны использовать WebDriver функцию:

new Select(dropdownElement).selectByVisibleText(textValue); 

dropdownElement - это WebElement, вы можете использовать там driver.findElementBy ...

Смежные вопросы