2016-05-25 12 views
0

カレンダー内のアクティブな要素(日付)をクリックするコードと、航空会社のページのアクティブなラジオボタンを知る必要があります。どうすればいいですか?ここで要素を見つけることができない...カレンダーで有効な要素を検索してクリックするにはどうすればよいですか?

コードです -

私は特定の日付と疲れていますが、いくつかの時間後に、その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(); 

あなたはちょうどそれを解凍し、次へのパスを与える

http://chromedriver.storage.googleapis.com/index.html?path=2.21/ でavialbleあるchromedriverを実行するexeファイルを必要としています。

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

>このエラー行き方: - org.openqa.selenium.ElementNotVisibleException "メイン" スレッドで 例外:要素は見えない (セッション情報:クロム= 50.0.2661.102) (ドライバ情報:chromedriver = 2.21.371459(36d3d07f660ff2bc1bf28a75d1cdabed0983e7c4)、プラットフォーム=のWindows NT 6.1 SP1 x86_64で)(警告:サーバは任意のスタックトレース情報を提供しなかった) \t vueling.Oneway.mainで(Oneway.java:60) – sarfaraz

+0

あなたはchromedriverを使用していますか?これはFirefox用ですFirefoxで試してみてください。私はあなたにそれを送る前にコードを走らせました。 –

+0

私の会社では、彼らはクロムを使用しているだけです。そのためにセットアップでクロムを試しました。 – sarfaraz

関連する問題