1.对出发地方和到达地方进行Xpath定位,这里采用了Xpath的text() 函数进行定位

用following::sibling选择当前元素后的兄弟元素,比如出发框的Xpath表达式如下:

.//*[text()= '出发']/following-sibling::input"

也可以用下面Xpath

//div[@id='js_flighttype_tab_domestic']//input[@name='fromCity']

 /**
* @author Hjianhui
* 12306 2016-08-05
*
*/
public class test{ public static void main(String[] args) { WebDriver driver = new FirefoxDriver(); try{
driver.get("http://www.qunar.com/");
driver.manage().window().maximize();
//输入出发地方
driver.findElement(By.xpath(".//*[text()= '出发']/following-sibling::input")).clear();
driver.findElement(By.xpath(".//*[text()= '出发']/following-sibling::input")).sendKeys("北京"); ////输入到达地方
driver.findElement(By.xpath(".//*[text()= '到达']/following-sibling::input")).clear();
driver.findElement(By.xpath(".//*[text()= '到达']/following-sibling::input")).sendKeys("广州"); if(isElementPresent(driver, By.xpath(".//*[@id='closeXI20']")))
driver.findElement(By.xpath(".//*[@id='closeXI20']")).click(); driver.findElement(By.id("js_domestic_fromdate")).clear();
driver.findElement(By.id("js_domestic_fromdate")).sendKeys("2016-08-20"); //点击立即搜索
driver.findElement(By.xpath(".//span[@class = 'p_btn']/button")).click(); }catch (Exception e){
e.printStackTrace();
}
driver.quit();
} public static boolean isElementPresent(WebDriver driver, By by) {
try {
driver.manage().timeouts().implicitlyWait(1, TimeUnit.SECONDS);
driver.findElement(by);
return true;
} catch (NoSuchElementException e) {
return false;
}
}
}

由于在输入到达地方的时候,可能会有下图挡住了立即搜索,导致立即搜索不可见,因此用isElementPresent()函数判断该图下的右上角图标是否出现,如果出现,点击取消他,然后再点击立即搜索

Selenium Webdriver——去哪儿网输入实例的更多相关文章

  1. 去哪儿网输入框三种输入方式(selenium webdriver 干货)

    在机票预定的页面,输入出发城市和到达城市输入框的时候, 发现直接使用sendkeys不好使, 大部分情况出现输入某城市后没有输入进去, 经过几天的研究,发现可以采取三种方式: 1. 先点击输入框,待弹 ...

  2. 输入框三种输入方式(selenium webdriver 干货)

    在机票预定的页面,输入出发城市和到达城市输入框的时候, 发现直接使用sendkeys不好使, 大部分情况出现输入某城市后没有输入进去, 经过几天的研究,发现可以采取三种方式: 1. 先点击输入框,待弹 ...

  3. Selenium WebDriver TestNg Maven Eclipse java 简单实例

    环境准备 前提条件Eclipse 已经安装过 TestNg ,Maven 插件 新建一个普通的java项目 点击右键 configure->convert to Maven Project 之后 ...

  4. selenium webdriver启动Chrome浏览器后无法输入网址的解决办法

    通过selenium webdriver启动Chrome浏览器,脚本如下: from selenium import webdriver browser = webdriver.Chrome() br ...

  5. Selenium WebDriver java 简单实例

    开发环境 JDK 下载地址: http://www.oracle.com/technetwork/java/javase/downloads/index.html Eclipse: 下载地址:http ...

  6. selenium webdriver——JS对Input执行输入

    直接设置value属性, 此方法主要应对输入框自动补全以及readonly属性的element,sendkeys不稳定 比如: Demo:用JS输入 import org.openqa.seleniu ...

  7. (java)selenium webdriver学习--通过id、name定位,输入内容,搜索,关闭操作、通过tagname查找元素

    selenium webdriver学习--通过id.name定位,输入内容,搜索,关闭操作:通过tagname查找元素 打开谷歌浏览器,输入不同的网站,搜索框的定位含有不同元素(有时为id,有时为n ...

  8. 一个selenium笔试题——去哪网首页获取符合要求的url并保存

    今天在群里看到这样一个笔试题:请使用任何熟悉的面向对象编程语言,编写代码,获取http://www.qyer.com页面中,所有</a>标签"href"属性值包含英文单 ...

  9. selenium webdriver (python)的基本用法一

    阅在线 AIP 文档:http://selenium.googlecode.com/git/docs/api/py/index.html目录一.selenium+python 环境搭建........ ...

随机推荐

  1. sql语句in

    在今天之前sql一直用in语句,知道今天遇到一张数据量很大的表查了三分钟才查出来,这才意识到数据库优化有多重要.作为一名开发人员,首先从优化sql语句开始. 之前用in写sql是这样的 select ...

  2. zoj3261变形并查集

    需要变形的并查集,这题错了好久,一直没a掉,终于在重写第三次的时候a了 先保存数据,把不需要拆分的边合并,逆向计算,需要拆分时就合并,之前不知道为啥写搓了,tle好久 #include<map& ...

  3. IOS-网络(GET请求和POST请求、HTTP通信过程、请求超时、URL转码)

    // // ViewController.m // IOS_0129_HTTP请求 // // Created by ma c on 16/1/29. // Copyright © 2016年 博文科 ...

  4. 050——VUE中使用js库控制vue过渡动作

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  5. ISE创建Microblaze软核(三)

    第七步 进入SDK开发环境 编译完成后弹出如下对话框,选择SDK的工作目录.在MicroblazeTutor中创建一个Workspace文件夹,并选择该文件夹为SDK的工作目录. 进入SDK主界面. ...

  6. New Concept English Two 4

    听力口语是一起的,其中,受中国英语发音的影响,我们的听力识别度会很差,歪果仁发的地道英语,极有可能我们听不懂.这涉及到:自然拼读法的训练,还有纠音练习.当然,听简单的美剧的音频,然后练习是最好的. 新 ...

  7. Visio2010建立ER图并直接导出为SQL语句

    Visio2010建立ER图并直接导出为SQL语句 2013年08月20日 ⁄ 综合 ⁄ 共 2581字 ⁄ 字号 小 中 大 ⁄ 评论关闭 建立数据库时我们需要考虑数据之间的关系,为了理清数据之间的 ...

  8. 使 docker 容器可以正常 mount privileged

    [docker]privileged参数 privileged参数   $ docker help run ... --privileged=false Give extended privilege ...

  9. 6-8 Percolate Up and Down(20 分)

    Write the routines to do a "percolate up" and a "percolate down" in a binary min ...

  10. cobbler装机错误--Failed to create kernel channel,-22

    最近使用cobbler安装GPU的机器遇到了一个错误:Failed to create kernel channel,-22 经过各种搜索发现是英伟达的显卡与centos7的默认显卡驱动冲突导致. 网 ...