zoukankan      html  css  js  c++  java
  • Java+Selenium——如何处理日历控件——方法二

    有些web产品,网页上有一些时间选择,然后支持按照不同时间段范围去筛选数据。网页上日历控件一般,是一个文本输入框,鼠标点击,

    就会弹出日历界面,可以选择具体日期。这篇,就是介绍用selenium如何自动化脚本实现。

    先看一个完全模仿手工操作的场景,点击输入框,点击下一个月,再点击一个日子。

    package rjcs;
    
    import java.text.SimpleDateFormat;
    import java.util.ArrayList;
    import java.util.Calendar;
    import java.util.List;
    import java.util.Set;
    
    import org.openqa.selenium.interactions.Actions;
    import org.apache.commons.io.FileUtils;
    import org.openqa.selenium.TakesScreenshot;
    import org.openqa.selenium.firefox.FirefoxDriver;
    import org.openqa.selenium.interactions.Actions;
    import org.openqa.selenium.By;
    import org.openqa.selenium.Keys;
    import org.openqa.selenium.WebElement;
    import org.testng.annotations.Test;
    import org.openqa.selenium.*;
    
    import java.awt.Rectangle;
    import java.awt.Robot;
    import java.awt.Toolkit;
    import java.awt.image.BufferedImage;
    import java.io.File;
    import java.io.IOException;
    
    import javax.imageio.ImageIO;
    
    import org.openqa.selenium.OutputType;
    
    import com.thoughtworks.selenium.SeleneseTestNgHelper;
    
    public class ckqhh 
    {
        public static void main(String[] args)
        
        {
             System.setProperty("webdriver.firefox.bin","C:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe");    //设置火狐的安装路径,防止系统找不到
                
             FirefoxDriver driver = new FirefoxDriver();        //初始化FireFox浏览器实例,并打开浏览器
             
            try
            {
                 driver.manage().window().maximize();         //最大化窗口
                 
                 Thread.sleep(3000);        
                 
                 driver.manage().window().maximize();         //最大化窗口
                 
                 Thread.sleep(3000);
    
    
    
    
                 driver.get("http://jqueryui.com/resources/demos/datepicker/default.html");  
                
                 Thread.sleep(2000);
                 
                 driver.findElement(By.id("datepicker")).click();
                 
                 Thread.sleep(8000);
                 
                 // 点击下一个月
                 driver.findElement(By.xpath("//*[@id='ui-datepicker-div']/div/a[@data-handler='next']")).click();
                 
                 Thread.sleep(8000);
                 
                 // xpath定义第三行第五个元素,可能每个月排序不一样,所以不一定点击的就是17日
                 driver.findElement(By.xpath("//*[@id='ui-datepicker-div']/table/tbody/tr[3]/td[5]/a")).click();
    
                 
                 Thread.sleep(5000);
                 
            }catch (Exception e) 
            {
                e.printStackTrace();
            }finally 
            {
                driver.quit();
            
             }
       }
        
    
    }
  • 相关阅读:
    关于网络字节序(network byte order)和主机字节序(host byte order)
    关于垃圾回收,我来解释下为什么LocalConnection可以实现垃圾回收
    解决Form中ExternalInterface的Bug问题
    AS3里var aa:String是null还是""?
    IE并发连接限制(as)
    tar
    mysql默认端口号3306
    flex经验
    这个游戏不错
    nginx介绍
  • 原文地址:https://www.cnblogs.com/xiaobaibailongma/p/12217448.html
Copyright © 2011-2022 走看看