2017-04-13 52 views
0

這是我試圖執行的代碼。我試圖從日曆中選擇下個月,但無法做到這一點

driver.get("https://easemytrip.com/"); 
driver.findElement(By.id("ddate")).click(); 
driver.findElement(By.id("img2")).click(); 

我無法點擊下個月的日曆。這裏是HTML代碼。

<div class="month"> 
 
<div id="dvprevious" class="dvnxt" runat="server"> 
 
<img id="img2" onclick="return FillcalendarV(03,2017);" alt="Arrow" src="img/left.png"/> 
 
</div> 
 
<div class="month2">Apr 2017</div> 
 
<div class="month3"> 
 
<img id="img1" onclick="return FillcalendarV(05,2017);" alt="Arrow" src="img/right.png"/> 
 
</div> 
 
</div>

回答

0

我的兩個工作變通是要強行將該項目的位置點擊鼠標。

WebElement elem = driver.findElement(By.id("id")); 
    Actions action = new Actions(driver); 
    action.moveToElement(elem).perform(); 
    action.moveToElement(elem).click().perform(); 

driver.findElement(By.id("id")).sendKeys(Keys.ENTER); 
0

的問題是,它需要日曆彈出第二個得到渲染,所以你需要一個短暫的停頓。我遇到的下一個問題是,顯然無法單擊> img,因爲它被容器DIV阻塞。所以,我只是點擊容器DIV,它的工作。下面的代碼工作。

driver.get("https://easemytrip.com/"); 
driver.findElement(By.id("ddate")).click(); 
new WebDriverWait(driver, 3).until(ExpectedConditions.visibilityOfElementLocated(By.cssSelector("div.month3"))).click(); 
+0

thanq.yes it works。 –

+0

如果您發現此(或任何)答案有幫助,請將其加入。如果這回答了您的問題,請將其標記爲已接受的答案。謝謝! – JeffC

0

以下代碼將起作用。

WebElement ele1 = driver.findElement(By.id("dvfarecal")); 
    ele1.click(); 

    WebDriverWait wait = new WebDriverWait(driver, 5); 
    WebElement ele2 = wait.until(ExpectedConditions.elementToBeClickable(By.xpath("//img[@src='img/right.png']"))); 

    ele2.click(); 
    driver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS); 

    WebElement date = driver.findElement(By.id("snd_3_10/05/2017")); 
    date.click(); 
相關問題