一、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、完整代码
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);
}
}

运行结果如下:

selenium用jquery改变元素属性的更多相关文章

  1. jquery获取、改变元素属性值

    //标签的属性称作元素属性,在JS里对应的DOM对象的对应属性叫DOM属性.JS里的DOM属性名有时和原元素属性名不同. //==================================操作元 ...

  2. 使用jQuery操作元素属性

    在jQuery中,提供了attr函数来操作元素属性,具体如下: 函数名 说明 例子 attr(name) 取得第一个匹配元素的属性值. $("input").attr(" ...

  3. jQuery改变元素class属性

    //去掉class属性 $(this).parent('li').removeClass("prev_selected"); //去掉同兄弟的class属性. $(this).pa ...

  4. jquery改变元素的值的函数text(),html(),val()

    text() - 设置或返回所选元素的文本内容 html() - 设置或返回所选元素的内容(包括 HTML 标记) val() - 设置或返回表单字段的值,适合于标签中有value属性的标签. 代码: ...

  5. jquery改变元素上下排列的顺序

    <!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  6. 使用python处理selenium中的获取元素属性问题

    # 获取我的订单元素class属性值 at = self.driver.find_element_by_link_text('我的订单').get_attribute('class') # 判断cla ...

  7. 使用python处理selenium中的获取元素属性

    # 获取我的订单元素class属性值 get_class_name = driver.find_element_by_link_text('我的订单').get_attribute('class') ...

  8. 巧妙使用Jquery 改变元素的 onclick 事件

    需要点击图片将套组发布, 页面代码: <img width="20px" src=" <s:property value="IMAGES_PATH& ...

  9. Selenium调用JavaScript修改元素属性

    修改元素的style,主要是将一些隐性元素显示出来,让元素可被操作: JavascriptExecutor  js = (JavascriptExecutor)driver; js.executeSc ...

随机推荐

  1. Docker(六)-Dcoker仓库

    仓库 一个容易混淆的概念是注册服务器(Registry). 实际上注册服务器是管理仓库的具体服务器,每个服务器上可以有多个仓库,而每个仓库下面有多个镜像.从这方面来说, 仓库可以被认为是一个具体的项目 ...

  2. python自动化之爬虫原理及简单案例

    [爬虫案例]动态地图里的数据如何抓取:以全国PPP综合信息平台网站为例  http://mp.weixin.qq.com/s/BXWTf5hmq8vp91ZvgaphEw [爬虫案例]动态页面的抓取! ...

  3. 【题解】 bzoj3105: [cqoi2013]新Nim游戏 (线性基+贪心)

    bzoj3105,懒得复制 Solution: 首先你要有一个前置技能:如果每堆石子异或和为\(0\),则先手比输 这题我们怎么做呢,因为我们没人要先取掉几堆,为了赢对方一定会使剩下的异或和为\(0\ ...

  4. Atcoder Grand 006 C-Rabbit Exercise

    题意: 数轴上有n只兔子,第i只兔子的坐标为xi. 有一组操作,这组操作的第i个操作是要让第ai只兔子等概率的跳到自己关于第ai+1或第ai-1只兔子的对称点. 进行K组操作,求每只兔子最后坐标的期望 ...

  5. from表单文件上传后页面跳转解决办法

    from表单上传文件,路径跳转后,又不能转发回来. 本人的一个解决办法是.返回一段html代码,浏览器解析后后退一步,回到原来的页面并刷新. return "<html>< ...

  6. C# 获取IIS站点及虚拟目录信息

    using System; using System.DirectoryServices; using System.Collections.Generic; using System.Text; n ...

  7. 「Vue」父子组件之间的传值及调用方法

    a.父组件向子组件传值data(){},props数据区别data中的数据可读可写,是自己的数据props是个数组,中的数据是父组件传递过来的,只读不能写<login :dmsg='msg'&g ...

  8. C语言扫盲篇

    C语言扫盲篇 作者:尹正杰 版权声明:本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接. 一.什么是C语言 C 语言是一种通用的高级语言,最初是由 ...

  9. bzoj千题计划181:bzoj1878: [SDOI2009]HH的项链

    http://www.lydsy.com/JudgeOnline/problem.php?id=1878 之前用莫队做的,现在用树状数组 把每种数的第一个出现位置在树状数组中+1 nxt[i] 记录i ...

  10. javascript鼠标拖拽的那些事情

    <html> <head> <title>javascript鼠标拖拽的那些事情</title> <meta http-equiv="C ...