2015-04-22 3 views
2

Как выбрать дату из всплывающего окна календаря, как этот пол (например, 24/04/2015 из календаря), используя Selenium WebDriver с Java?Как обрабатывать всплывающее окно с помощью Selenium WebDriver с Java?

Я попытался это:

package com.Automation; 

import org.openqa.selenium.By; 
import org.openqa.selenium.WebDriver; 
import org.openqa.selenium.firefox.FirefoxDriver; 

public class CalendarPopup { 

    /** 
    * @param args 
    */ 
    public static void main(String[] args) { 
     WebDriver driver = new FirefoxDriver(); 
     driver.get("http://www.yatra.com/"); 
     driver.findElement(By.id("//div[2]/ul[3]/li[1]/i")).click(); 
     driver.findElement(By.id("a_2015_4_25")).click(); 
    } 
} 
+0

Это был дан ответ на StackOverflow, ссылка: http://stackoverflow.com/questions/21398575/select-a-date-from-date-picker-using-selenium-webdriver/21479270#21479270 –

ответ

2

Вы можете нажать день, выбрав его из идентификатора, а затем нажмите на него

driver.findElement(By.id('a_2015_4_24')).click(); //use this format a_yyyy_m_d 

Вы также можете вернуться назад или вперед, щелкнув календарь стрелки:

driver.findElement(By.className('js_btnNext')).click() // click the "next" arrow 
driver.findElement(By.className('js_btnPrev')).click() // click the "prev" arrow 

Обратите внимание, что вы не можете щелкнуть дни или дни, которые не видны, также календарь должен быть видимым, когда вы нажимаете день.

EDIT: Ваш выбор неправильно ваши элементы в коде, как вы выбираете элемент по идентификатору пропускании XPath к функции, она должна быть такой:

//.... 
driver.findElement(By.xpath("//div[2]/ul[3]/li[1]/i")).click(); 
driver.findElement(By.id('a_2015_4_24')).click(); 
//... 
+0

Есть ли какой-либо другой метод сначала сравнить дату, затем выбрать дату ??? ? –

+0

не в API-интерфейсах webdriver, вы должны использовать свой код, чтобы получить нужную дату, а затем построить свою строку id, выполнив «a» + year.toString() + «_» + и т. Д. – dnlcrl

+0

проверить этот ответ для получения дополнительной информации о сравнении даты http://stackoverflow.com/questions/10118029/how-to-automate-selection-of-a-particular-date-from-calendar-in-selenium-using-j?rq=1 – dnlcrl