2016-05-25 3 views
0

Мне нужно знать коды для нажатия на активный элемент (дата) в календаре, а также активные переключатели страницы авиакомпании. Как я могу это сделать? пожалуйста, помогите ..Как найти элемент enable в календаре и нажать на него?

Я устал с определенной датой, но через какое-то время не в состоянии нажать эту ошибку element..with - невозможно найти элемент ...

Вот код: -

public class Oneway 

{ 
    public static void main (String[] args) throws InterruptedException { 

System.setProperty("webdriver.chrome.driver","D:\\elephant\\chromedriverw.exe"); 
{ 

//Launch crome n maximise window 
WebDriver driver=new ChromeDriver(); 
driver.get("http://www.vueling.com/es"); 
driver.manage().window().maximize(); 

//selecting dropdowm origin n destination 

driver.findElement(By.name("AvailabilitySearchInputXmlSearchView$TextBoxMarketOrigin1")).sendKeys("Barcelona"); 

Actions a=new Actions(driver); 
    a.sendKeys(Keys.DOWN); 
    a.build().perform(); 
    Thread.sleep(2000); 

a.sendKeys(Keys.ENTER).build().perform(); 
    Thread.sleep(2000); 

    driver.findElement(By.name("AvailabilitySearchInputXmlSearchView$TextBoxMarketDestination1")).sendKeys("Madrid"); 


Actions a1=new Actions(driver); 
for (int i=1; i<=1; i++) 
a1.sendKeys(Keys.DOWN);a.build().perform(); 
Thread.sleep(2000); 

a.sendKeys(Keys.ENTER).build().perform(); 
Thread.sleep(2000); 


// Date Picker 

driver.findElement(By.id("divBuscadorCalendarTarget")); 
driver.findElement(By.cssSelector("#datePickerContainer > div.ui-datepicker-group.ui-datepicker-group-first > table > tbody > tr:nth-child(5) > td:nth-child(4) > a")).click(); 
    Thread.sleep(5000); 


    driver.findElement(By.cssSelector("#datePickerContainer > div.ui-datepicker-group.ui-datepicker-group-last > table > tbody > tr:nth-child(1) > td:nth-child(3) > a")).click(); 


    driver.findElement(By.xpath("/HTML[1]/BODY[1]/DIV[2]/DIV[2]/DIV[1]/DIV[1]/DIV[1]/DIV[1]/FORM[1]/DIV[1]/DIV[1]/DIV[8]/DIV[1]/DIV[1]/A[1]")).click(); 

ответ

0

Попробуйте это. Это позволяет щелкнуть значения календаря.

WebDriver driver = new FirefoxDriver(); 

Для драйвера Chrome

Вам нужно ехе запустить chromedriver который avialble в

http://chromedriver.storage.googleapis.com/index.html?path=2.21/ Просто Распакуйте его и дать свой путь к следующему.

System.setProperty("webdriver.chrome.driver", "path where the exe is"); 

Для примера.

System.setProperty("webdriver.chrome.driver", "C:\\pathto\\my\\chromedriver.exe"); 


WebDriver driver = new ChromeDriver(); 

driver.manage().window().maximize(); 

driver.get("http://www.vueling.com/es#"); 
Thread.sleep(4000L); 

WebElement element = driver.findElement(By.xpath(".//*[@id='marketDate1_lab']")); 
element.click(); 
Actions a = new Actions(driver); 
WebElement b = driver.findElement(By.xpath(".//*[@id='datePickerContainer']/div[1]/table/tbody/tr[5]/td[4]/a")); 
a.moveToElement(b).build().perform(); 
b.click(); 

WebElement c =driver.findElement(By.xpath(".//*[@id='datePickerContainer']/div[1]/table/tbody/tr[5]/td[4]/a")); 
WebDriverWait wait = new WebDriverWait(driver, 10); 
wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath(".//*[@id='datePickerContainer']/div[1]/table/tbody/tr[5]/td[4]/a"))); 
c.click(); 

Ответьте мне для дальнейшего запроса. Счастливые обучения :-)

+0

> Получение этой ошибки: - Exception в потоке "основной" org.openqa.selenium.ElementNotVisibleException: элемент не видны (информация о сессии: хром = 50.0.2661.102) (информация Driver: chromedriver = 2.21.371459 (36d3d07f660ff2bc1bf28a75d1cdabed0983e7c4), платформа = Windows NT 6.1 SP1 x86_64) (ВНИМАНИЕ: сервер не предоставляет никакой информации StackTrace) \t в vueling.Oneway.main (Oneway.java:60) – sarfaraz

+0

Вы используете chromedriver? Это для firefox. Попробуйте в Firefox. Я запустил код перед отправкой его вам. –

+0

В моей компании они используют только хром, поэтому я попробовал его для хром с настройкой. – sarfaraz

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