zoukankan      html  css  js  c++  java
  • 去哪儿网自动化

    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);
    }
    }

  • 相关阅读:
    阿里云在云栖大会发布SaaS加速器3.0版最新成果,让天下没有难做的SaaS
    阿里云重磅发布全域集成解决方案,帮助提升5倍全域集成效率
    2019亚太内容分发大会,阿里云获CDN领袖奖、技术突破奖
    阿里云应用上边缘云解决方案助力互联网All in Cloud
    云栖大会压轴好戏 阿里云智能视频云专场划重点啦!
    阿里云研究员金戈:视频云新“三网一云”,驱动行业应用创新
    阿里云启动视频云V5计划,全面赋能生态合作伙伴
    数据库实例性能调优利器:Performance Insights
    n转m进制标准写法(必须记忆)
    傻逼暴力法画蛇皮矩阵图
  • 原文地址:https://www.cnblogs.com/tobecrazy/p/4750178.html
Copyright © 2011-2022 走看看