import org.openqa.selenium.By;
import org.openqa.selenium.Keys;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.interactions.HasInputDevices;
public class homeTicket {
private String url;
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
private WebDriver driver = null;
private String webBrowserPath = "";
public void init()
{
webBrowserPath = "chromedriver.exe" ;
System. setProperty( "webdriver.chrome.driver", webBrowserPath );
driver = new ChromeDriver();
}
public void quitDrvier()
{
if ( null != driver)
{
driver .quit();
}
}
public void waitForSecond()
{
try
{
Thread. sleep(3000);
}
catch (InterruptedException e)
{
e.printStackTrace();
}
}
public void waitForSecondLong()
{
try
{
Thread. sleep(10000);
}
catch (InterruptedException e)
{
e.printStackTrace();
}
}
public homeTicket() {
this.url = "https://kyfw.12306.cn/otn/leftTicket/init";
}
public String getPath() {
return url;
}
public void getContent() {
init();
driver.get(this.url);
driver.manage().window().maximize();
waitForSecond();
driver.findElement(By.xpath("//*[@id=\"fromStationText\"]")).clear();
driver.findElement(By.xpath("//*[@id=\"fromStationText\"]")).click();
waitForSecond();
driver.findElement(By.xpath("//*[@id=\"fromStationText\"]")).sendKeys("北京西");
waitForSecond();
((HasInputDevices) driver).getKeyboard().sendKeys(Keys.ARROW_DOWN);
((HasInputDevices) driver).getKeyboard().sendKeys(Keys.ARROW_DOWN);
((HasInputDevices) driver).getKeyboard().sendKeys(Keys.RETURN);
waitForSecond();
driver.findElement(By.xpath("//*[@id=\"toStationText\"]")).clear();
driver.findElement(By.xpath("//*[@id=\"toStationText\"]")).click();
waitForSecond();
driver.findElement(By.xpath("//*[@id=\"toStationText\"]")).sendKeys("广州");
((HasInputDevices) driver).getKeyboard().sendKeys(Keys.ARROW_DOWN);
((HasInputDevices) driver).getKeyboard().sendKeys(Keys.RETURN);
waitForSecond();
driver.findElement(By.id("sf2_label")).click();
waitForSecond();
driver.findElement(By.xpath("//*[@id=\"train_date\"]")).click();
waitForSecond();
/*2017年1月16日的学生火车票*/ driver.findElement(By.xpath("/html/body/div[30]/div[2]/div[2]/div[16]/div")).click();
waitForSecond();
driver.switchTo().defaultContent();
while(true){
driver.findElement(By.id("query_ticket")).click();
waitForSecondLong();
try {
String s1=driver.findElement(By.xpath("//*[@id=\"YW_2400000Z3501\"]")).getText().toString();
String s2=driver.findElement(By.xpath("//*[@id=\"YW_240000Z2010D\"]")).getText().toString();
System.out.println(s1+"*********"+s2);
if(s1.equals("无")&&s2.equals("无")){
continue;
}else{
while(true){
java.awt.Toolkit.getDefaultToolkit().beep();
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
public static void main(String[] args) {
homeTicket parser=new homeTicket();
parser.getContent();
}
}