• 去哪儿网自动化


    import java.text.SimpleDateFormat;
    import java.util.Calendar;
    import java.util.Date;
    import java.util.concurrent.TimeUnit;

    import org.openqa.selenium.By;
    import org.openqa.selenium.JavascriptExecutor;
    import org.openqa.selenium.WebDriver;
    import org.openqa.selenium.WebElement;
    import org.openqa.selenium.chrome.ChromeDriver;
    import org.openqa.selenium.interactions.Actions;

    public class Test {

    public static void main(String[] args) {
    System.setProperty("webdriver.chrome.driver", "d://chromedriver.exe");
    WebDriver driver = new ChromeDriver();
    driver.get("http://flight.qunar.com/");
    driver.manage().window().maximize();
    driver.manage().timeouts().pageLoadTimeout(60, TimeUnit.SECONDS);
    driver.manage().timeouts().pageLoadTimeout(30, TimeUnit.SECONDS);
    WebElement from_inpox = driver
    .findElement(By.xpath("//div[@id='js_flighttype_tab_domestic']//input[@name='fromCity']"));
    WebElement to_inpox = driver
    .findElement(By.xpath("//div[@id='js_flighttype_tab_domestic']//input[@name='toCity']"));
    WebElement from_date = driver
    .findElement(By.xpath("//div[@id='js_flighttype_tab_domestic']//input[@name='fromDate']"));
    WebElement sigleWayCheckBox = driver.findElement(
    By.xpath("//div[@id='js_flighttype_tab_domestic']//input[@class='inp_chk js-searchtype-oneway']"));
    if (!sigleWayCheckBox.isSelected()) {
    sigleWayCheckBox.click();
    }
    Actions actions = new Actions(driver);
    actions.moveToElement(from_inpox).click().perform();
    driver.findElement(By
    .xpath("//div[@data-panel='domesticfrom-flight-hotcity-from']//a[@class='js-hotcitylist' and text()='西安']"))
    .click();
    driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
    driver.manage().timeouts().pageLoadTimeout(30, TimeUnit.SECONDS);

    actions.moveToElement(to_inpox).click().perform();
    driver.findElement(By
    .xpath("//div[@data-panel='domesticto-flight-hotcity-to']//a[@class='js-hotcitylist' and text()='北京']"))
    .click();
    driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
    driver.manage().timeouts().pageLoadTimeout(30, TimeUnit.SECONDS);

    from_date.clear();
    from_date.sendKeys(getDateAfterToday(7));
    WebElement search = driver
    .findElement(By.xpath("//div[@id='js_flighttype_tab_domestic']//button[@class='btn_search']"));
    search.submit();

    driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
    driver.manage().timeouts().pageLoadTimeout(30, TimeUnit.SECONDS);
    WebElement page2 = driver.findElement(By.xpath("//div[@id='hdivPager']/a[@value='2']"));
    JavascriptExecutor jse = (JavascriptExecutor) driver;
    jse.executeScript("arguments[0].scrollIntoView()", page2);
    page2.click();

    driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
    driver.manage().timeouts().pageLoadTimeout(30, TimeUnit.SECONDS);
    driver.findElement(By
    .xpath("(//div[@class='avt_trans']//p[contains(text(),'每段航班均需缴纳税费')]/ancestor::div//div[@class='a_booking']/a)[3]"))
    .click();
    driver.findElement(By.xpath("//div[@id='flightbarXI883']//div[@class='t_bk']/a")).click();

    }

    public static String getDateAfterToday(int dateAfterToday) {
    Calendar cal = Calendar.getInstance();
    cal.add(Calendar.DATE, +dateAfterToday);
    System.out.println(cal.getTime().toString());
    Date date = cal.getTime();
    SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
    System.out.println(df.format(date));
    return df.format(date);
    }
    }

  • 相关阅读:
    HDU6397
    容斥原理推导错排通项公式
    重复排列的证明
    圆排列证明
    rock-paper-scissors
    The more, The Better
    趁着情人节写点东西
    分层图最短路问题
    背包问题是否装满问题
    Python面向对象编程扑克牌发牌程序,另含大量Python代码!
  • 原文地址:https://www.cnblogs.com/tobecrazy/p/4750178.html
Copyright © 2020-2023  润新知