美文网首页
2018-12-13元素基本操作

2018-12-13元素基本操作

作者: 雁_9587 | 来源:发表于2018-12-13 11:23 被阅读0次
    image.png

    **

    • @program: ghy
    • @description:
    • @author: guoya
    • @create: 2018-12-13 10:09

    输入框

      @Test
      public void testTextInput(){
        //打开网址
        driver.get("https://www.taobao.com/");
        //定位页面元素
        WebElement text=driver.findElement(By.xpath("//input[@id=\"q\"]"));
        //清空输入框
          text.clear();
        //往输入框中填值
        text.sendKeys("美食");
        //等待2秒
         sleep(2);
    

    点击类型

      public void testButton(){
        testTextInput();
        //定位页面元素
        WebElement button=driver.findElement(By.xpath("//button[contains(text(),'搜索')]"));
        //点击
        click(button);
        button.click();
        //等待2秒
        sleep(2);
      }
    

    超链接

      public void testLink(){
         //打开网址
         driver.get("https://www.taobao.com/");
         //定位页面元素
         WebElement link =driver.findElement(By.xpath("//li[@aria-label=\"查看更多\"]/a[contains(text(),'女装')]"));
        //点击
        //link,click();
        // ctrl+点击
        //新建一个Actions类的实例
        // Actions actions =new Actions(driver);
        //操作
       //actions.keyDown(Keys.CONTROL).click(link).keyUp(Keys.CONTROL).perform();
        //shift + 点击
        //1.在代码里Actions封装了鼠标的所有操作,使用这个类我们需要新建一个实例,所以new新建并取名为actions
        Actions actions = new Actions(driver);
        //鼠标这个变量叫actions我们的操作有1.按shift,点击超链接hera在鼠标回弹shift,之后再展现
        actions.keyDown(Keys.SHIFT).click(link).perform();
        //等待2秒
        sleep(2);
      }
    
    ctrl + 点击
    //定位页面元素
    WebElement link = driver.findElement(By.xpath("//li[@aria-label=\"查看更多\"]/a[contains(text(),'女装')]"));
    //新建一个Actions类的实例
    Actions actions = new Actions(driver);
    //操作
    actions.keyDown(Keys.CONTROL).click(link).keyUp(Keys.CONTROL).perform();
    
    shift + 点击
    //定位页面元素
    WebElement link = driver.findElement(By.xpath("//li[@aria-label=\"查看更多\"]/a[contains(text(),'女装')]"));
    Actions actions = new Actions(driver);
    actions.keyDown(Keys.SHIFT).click(link).keyUp(Keys.SHIFT).perform();
    
    

    下拉框

    image.png
      public void testelect(){
        //打开网址
     driver.get("file:///C:/Users/guoya/Documents/WeChat%20Files/wxid_nbubxf9aloyq22/Files/demo(1).html");
        // driver.findElement这里是xpath轴定位元素  
       WebElement select =driver.findElement(By.xpath("//select"));
        //对这个selects的操作
        //1.对于下拉框的操作封装在Select这个类里,我们需要先new一个实例,这里取名为selects
        Select selects = new Select(select);
        //通过展现文本来选,通过香蕉来选
        selects.selectByVisibleText("香蕉");
        //等待2秒
        sleep(2);
        //2.下拉框有多个选项,这里我们是通过selectByIndex(下拉框的序号)代码0代表第一个
        selects.selectByIndex(0);
        //等待2秒
        sleep(2);
        //这里我们是通过selectByVisibleText(下拉框的文本域)下拉框有橘子
        selects.selectByVisibleTest("橘子");
        //等待2秒
        sleep(2);
        //通过select这个下拉框查看源代码,通过Value的值去选择
        select2.selectByValue("chengzi");
        sleep(2);
      }
    

    下拉框

    • 1.按展现文本选择
      ①//定位元素
      ②WebElement select = driver.findElement(By.xpath("//select"));
      ③Select selects = new Select(select);
      ④selects.selectByVisibleText("香蕉");
    • 2.按序号选择
      ①//定位元素
      ②WebElement select = driver.findElement(By.xpath("//select"));
      ③Select selects = new Select(select);
      ④selects.selectByIndex(0);
    • 3.按value的值选择
      ①//定位元素
      ②WebElement select = driver.findElement(By.xpath("//select"));
      ③Select selects = new Select(select);
      ④selects.selectByValue("juzi");

    日期控件

      //日期控件
      public void testeDate(){
      //driver.get打开网页
     driver.get("file:///C:/Users/guoya/Documents/WeChat%20Files/wxid_nbubxf9aloyq22/Files/demo(1).html");
      //WebElement date = driver.findElement(By.xpath(//input[@type='date']));
      //date.clear();
      //date.sendKeys("2018-12-13")
      //是把js代码存起来    
      String js = "var xpath = \"//input[@type='date']\";var element = document.evaluate(xpath,document,null,XPathResult.ANY_TYPE,null).iterateNext();element.value=\"2018-12-13\";";
      //强制转化js代码driver告诉程序那个浏览器的代码   
      JavascriptExecutor jsDriver = (JavascriptExecutor)driver;
      //将jsdrver里面的代码解析(executeScript,脚本,(js)代码)    
      jsDriver.executeScript(js);
      //等待2秒 
      sleep(2);
      }
    

    先在console中写js代码

    ①//声明一个变量,并把xpath语句存放在变量中
    ②var xpath="//input[@type='date']";
    ③//使用xpath定位元素,并把定位结果取出来放到一个变量中
    ④var element = document.evaluate(xpath,document,null,XPathResult.ANY_TYPE,null).iterateNext();
    ⑤//修改value属性的值
    ⑥element.value="2018-12-31";


    image.png
    image.png

    如何操作value以外的属性

    • 1.修改其他属性的值
      ①//修改其他属性的值
      ②element.setAttribute("type","text");


      image.png
    • 2.删除其他属性
      ①//删除时间控件的只读属性
      ②element.removeAttribute("readonly");


      image.png

    在java中执行js代码

    ①//把javaScript代码存入一个变量中
    ②String js = "var xpath = "//input[@type='date']";var element = document.evaluate(xpath,document,null,XPathResult.ANY_TYPE,null).iterateNext();element.removeAttribute("readonly");element.value='2018-12-13';";
    ③//强制类型转换,把driver强制转换为可以执行js代码的driver
    ④JavascriptExecutor jsDriver = (JavascriptExecutor)driver;
    ⑤//使用executeScript()方法执行js代码
    ⑥jsDriver.executeScript(js);

    时间控件

        //时间控件
        public void testetime(){
        // driver.get打开网页 
     driver.get("file:///C:/Users/guoya/Documents/WeChat%20Files/wxid_nbubxf9aloyq22/Files/demo(1).html");
        //WebElement time = driver.findElement(By.xpath(//input[@type='time']));
        //time.clear();
        //date.sendKeys("11:00");
        //是把js代码存起来
        String js = "var xpath = \"//input[@type='time']\";var element = document.evaluate(xpath,document,null,XPathResult.ANY_TYPE,null).iterateNext();element.value=\"11:00\";";
        //强制转化js代码driver告诉程序那个浏览器的代码
        JavascriptExecutor jsDriver = (JavascriptExecutor)driver;
        //将jsdrver里面的代码解析(executeScript,脚本,(js)代码)
        jsDriver.executeScript(js);
        //等待2秒 
        sleep(2);
      }
    
    image.png

    操作导航栏

      public void testNavigate() {
        //打开百度
        driver.get("https://www.taobao.com/");
        //等待2秒 
        sleep(2);
        //打开天猫
        driver.get("https://www.tmall.com/");
        //等待2秒 
        sleep(2);
        //后退
        driver.navigate().back();
        //等待2秒 
        sleep(2);
        //前进
        driver.navigate().forward();
        //等待2秒 
        sleep(2);
        //刷新    
        driver.navigate().refresh();
        //等待2秒 
        sleep(2);
        //打开网址    
        driver.navigate().to("https://www.taobao.com/");
        //等待2秒 
        sleep(2);
      }
    

    相关文章

      网友评论

          本文标题:2018-12-13元素基本操作

          本文链接:https://www.haomeiwen.com/subject/gpuvhqtx.html