前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >有一个selenium的高端操作要分享给你

有一个selenium的高端操作要分享给你

作者头像
软件测试君
发布2019-06-03 10:15:31
7460
发布2019-06-03 10:15:31
举报
文章被收录于专栏:测试人生测试人生

今天给大家分享一波用jquery改变元素属性操作,来让我们开始吧!

一、jQuery 语法

jQuery 语法是通过选取 HTML 元素,并对选取的元素执行某些操作。

1、基础语法:

$(selector).action()

  • 选择符(selector)即,"查询"和"查找" HTML 元素
  • jQuery 的 action() 执行对元素的操作

简单理解:就是选择器来操作

2、实例:

  • $(this).hide() - 隐藏当前元素
  • $("p").hide() - 隐藏所有 <p> 元素
  • $("p.test").hide() - 隐藏所有 class="test" 的 <p> 元素
  • $("#test").hide() - 隐藏所有 id="test" 的元素

特点:语法简单,好操作

二、用jquery实现思路

1、实际模拟场景:

以我们最熟悉的百度为例吧,删除百度页面的id属性,并将百度输入框及按钮都改为红色

2、引用jQuery类库

3、用jQuery代码改变元素属性

4、完整代码
代码语言:javascript
复制
import org.apache.commons.lang3.StringUtils;

import org.openqa.selenium.JavascriptExecutor;

import org.openqa.selenium.WebDriver;

import org.openqa.selenium.chrome.ChromeDriver;

import org.testng.annotations.Test;

/**

 * selenium 引用jQuery改变页面元素属性

 *

 * @author longrong.lang

 */  

public class LoadJQuery {

    private static WebDriver driver;


    /**

     * 向当前页面注入JQuery,并返回加载是否成功

     *

     * @return

     */  

    public boolean injectjQuery() {

        try {

            String injectJQuery = "var script = document.createElement('script');"  

                    + "var filename = \"http://code.jquery.com/jquery-1.10.1.min.js\";"  

                    + "script.setAttribute(\"type\",\"text/javascript\");"  

                    + "script.setAttribute(\"src\", filename);"  

                    + "if (typeof script!='undefined'){"  

                    + "document.getElementsByTagName(\"head\")[0].appendChild(script);"  

                    + "}";

            ((JavascriptExecutor) driver).executeScript(injectJQuery);

            Thread.sleep(3000);

        } catch (InterruptedException e) {

            e.printStackTrace();

        }

        // 判断JQuery是否加载成功

        Boolean loaded = true;

        String s = (String) (((JavascriptExecutor) driver)

                .executeScript("return typeof jQuery"));

        if (!StringUtils.trimToEmpty(s).equals("function"))

            loaded = false;

        return loaded;

    }

    @Test  

    public void testJQuery() {

        driver = new ChromeDriver();

        driver.manage().window().maximize();

        driver.get("https://www.baidu.com/");

        JavascriptExecutor js = (JavascriptExecutor) driver;

        String changeDisplay = " $('input').removeAttr('id');";

        // 删除input标签下的id属性操作

        js.executeScript(changeDisplay);

        js = (JavascriptExecutor) driver;

        // 将百度按钮及输入框改成红色

        String changeinput = "$(\"input\").attr(\"style\",\"background:red\");";

        js.executeScript(changeinput);

    }

}

四、实现效果

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-04-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 软件测试君 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、jQuery 语法
  • 二、用jquery实现思路
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档