要求:

出发城市输入北京,到达城市输入上海,日期填写当前日期14天后,点击搜索按钮。

 

难点:

在实现时,遇到了两个难点,第一个是14天后怎么实现,第二个是弹出的div层会遮住搜索按钮,导致操作失败。

 

解决方法:

难点一:14天后怎么实现??

	public static String getDateAfterDays(int days) {
		Date date = new Date();
		SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
		String dnow = dateFormat.format(date);
		System.out.println("now is:" + dnow);
		Calendar cal = Calendar.getInstance();
		cal.add(Calendar.DATE, days);
		date = cal.getTime();
		String dAf = dateFormat.format(date);
		System.out.println("after is " + dAf);
		return dAf;
	}

 难点二:弹出的div层会遮住搜索按钮,导致操作失败,怎么处理??

这里有两个思路:

思路一:输入框输入内容后,在空白处点击一下,div弹出框会自动消失。比如说点击空白处(0,0)

    public void moveTo(int xOffset,int yOffset){
    	Actions action = new  Actions(browser);
    	action.moveByOffset(xOffset, yOffset).click().perform();;   	
    }

 思路二:输入框输入内容后,再按一下Tab键,div弹出框也会自动消失。

input.sendKeys(Keys.TAB);  

 

我在实现的时候又遇到了一个问题,输入北京后,立刻点击空白处或者输入Tab键,不起作用。原因是,加载div是需要时间的,马上点击空白处或输入Tab键,会起不到我们预期的结果。

解决方法是,输入北京,使用Thread.sleep(3000),再点击空白处或者输入Tab键。

 

posted on 2017-06-26 10:29  Jourly  阅读(466)  评论(0)    收藏  举报