我试图从日历中选择下个月而无法这样做

时间:2017-04-13 10:51:02

标签: java selenium-webdriver

这是我试图执行的代码。

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>
&#13;
&#13;
&#13;

3 个答案:

答案 0 :(得分: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);

答案 1 :(得分:0)

问题是日历弹出窗口需要一秒钟才能渲染,因此您需要暂停一下。我遇到的下一个问题是你显然无法点击&gt; 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();

答案 2 :(得分:0)

以下代码可以使用。

ActivityCompat.requestPermissions