- 浏览: 172264 次
- 性别:
- 来自: 河北
文章分类
- 全部博客 (142)
- Java (15)
- 编程 (7)
- 操作系统 (4)
- 晴天夜雨 (3)
- 点点滴滴 (16)
- 数据库 (13)
- 测试 (14)
- eclipse (0)
- English study (9)
- 书虫-牛津英汉对照读物(第一级) (7)
- Web笔记 (2)
- 自动化 (2)
- SoapUi (0)
- Jmeter (5)
- Selenium 自动化测试 (21)
- TestNG (7)
- Bug (1)
- REST API (1)
- cURL (1)
- Junit (2)
- 接口测试 (1)
- OWASP (5)
- Python+Robot Framework+Selenium2Library (1)
- Python (0)
- 测试框架 (0)
- Jenkins (0)
- 测试用例 (1)
- 娱乐 (0)
- 驾照 (0)
- Pytest (1)
- git (0)
- Python笔记 (1)
最新评论
-
wuchunjiesp:
...
Project facet Java version 6.0 is not supported. -
天堂有行:
swanky_yao 写道启动:net start mysql ...
mysql编程常用 -
swanky_yao:
启动:net start mysql中止:$MySQL_HOM ...
mysql编程常用 -
天堂有行:
天堂有行 写道fixsmall 写道Mysql insert ...
mysql编程常用 -
天堂有行:
fixsmall 写道Mysql insert 还有一个 i ...
mysql编程常用
CSS是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。
CSS选择器有如下几种方式定位页面元素:
a、使用绝对路径定位元素(不推荐)
例:
b、使用相对路径定位元素
例:(如果一个页面存在多个input,则下面代码将返回找到的第一个input,如果存在多个相同标签可以使用List,他将返回所有包含该标签的list集合)
c、使用相对ID选择器定位元素
例:
d、使用属性定位元素
例:
e、使用属性名称(注意,只是属性的名称)定位元(注:此功能已无效,具体见下方程序)
例:(下面例子表示找到所有input标签中含有love属性的元素- =!)
f、部分属性值的匹配定位元素
依旧以百度首页为例(百度TM作用就是做测试用):
程序清单如下:
打印结果如下:
CSS选择器有如下几种方式定位页面元素:
a、使用绝对路径定位元素(不推荐)
例:
WebElement ele = driver.findElement(By.cssSelector("html body div form input"));
b、使用相对路径定位元素
例:(如果一个页面存在多个input,则下面代码将返回找到的第一个input,如果存在多个相同标签可以使用List,他将返回所有包含该标签的list集合)
WebElement ele = driver.findElement(By.cssSelector("input"));
c、使用相对ID选择器定位元素
例:
WebElement ele = driver.findElement(By.cssSelector("input#idName"));
d、使用属性定位元素
例:
WebElement ele = driver.findElement(By.cssSelector("input[id=idName]"));
e、使用属性名称(注意,只是属性的名称)定位元(注:此功能已无效,具体见下方程序)
例:(下面例子表示找到所有input标签中含有love属性的元素- =!)
WebElement ele = driver.findElement(By.cssSelector("input[love]"));
f、部分属性值的匹配定位元素
^= 例:input[id^='love'] 如果一个元素的id是以love开头的则会被找到(id=love_you) $= 例:input[id$='love'] 如果一个元素的id是以love结尾的则会被找到(id=you_love) *= 例:input[id*='love'] 如果一个元素的id包含love则会被找到(id=love_you,id=love_her,id=beilove,id=TMD_love_haha……)
依旧以百度首页为例(百度TM作用就是做测试用):
程序清单如下:
/* * 示例脚本 * 脚本功能:熟练掌握CSS选择器定位元素的方法 */ package com.test; import java.util.List; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.htmlunit.HtmlUnitDriver; public class test { public static void main(String args[]) throws Exception { WebDriver driver = new HtmlUnitDriver(); //IE浏览器 //WebDriver driver = new InternetExplorerDriver(); driver.get("http://www.baidu.com"); //找到第一个含input标签 WebElement ele = driver.findElement(By.cssSelector("input")); //找到所有含input标签 List<WebElement> eles = driver.findElements(By.cssSelector("input")); //找到含有id属性值为kw的input标签 WebElement idele = driver.findElement(By.cssSelector("input#kw")); //找到含有value属性值为‘百度一下’的input标签 WebElement valueele = driver.findElement(By.cssSelector("input[value='百度一下']")); //找到含有value属性的input标签 List<WebElement> loveeles = driver.findElements(By.cssSelector("input[class]")); System.out.println("By.cssSelector(\"input\")-first\t\t:"+ele); System.out.println("By.cssSelector(\"input\")-all\t\t:"+eles); System.out.println("By.cssSelector(\"input#kw\")\t\t:"+idele); System.out.println("By.cssSelector(\"input[value='百度一下']\")\t:"+valueele); System.out.println("By.cssSelector(\"input[id]\")\t\t:"+loveeles); driver.quit(); } }
打印结果如下:
By.cssSelector("input")-first :input type="text" name="wd" id="kw" maxlength="100" class="s_ipt" By.cssSelector("input")-all :[input type="text" name="wd" id="kw" maxlength="100" class="s_ipt", input type="hidden" name="rsv_bp" value="0", input type="hidden" name="rsv_spt" value="3", input type="hidden" name="ie" value="utf-8", input type="submit" value="百度一下" id="su" class="bg s_btn" onmousedown="this.className='bg s_btn s_btn_h'" onmouseout="this.className='bg s_btn'"] By.cssSelector("input#kw") :input type="text" name="wd" id="kw" maxlength="100" class="s_ipt" By.cssSelector("input[value='百度一下']") :input type="submit" value="百度一下" id="su" class="bg s_btn" onmousedown="this.className='bg s_btn s_btn_h'" onmouseout="this.className='bg s_btn'" By.cssSelector("input[id]") :[]
发表评论
-
数据驱动
2016-07-26 11:10 632相同的测试脚本使用不同的测试数据来执行,测试数据和测试行为进行 ... -
对下拉框进行操作
2014-07-22 17:40 718对下拉框进行操作时首先要定位到这个下拉框,new 一个Selc ... -
testng.xml的格式
2014-07-21 09:39 1241简单说明: 测试代码 ... -
定位页面表格和单元格
2014-04-25 13:05 939在处理表格时,我们可 ... -
JQuery选择器
2014-04-22 10:31 0juqery选择器是jquery库中非常重要的功能。jquer ... -
日志记录
2014-04-25 13:06 624日志记录可结合上一专题的报告共同生成,日志中可记录自动化测试过 ... -
报告生成
2014-04-25 13:06 622一般我们写的脚本可能覆盖了较多的测试项,而且可能持续运行了一段 ... -
XPATH定位
2014-04-22 10:02 1372XPATH是一门在XML文档中 ... -
元素定位
2014-04-22 09:54 605Selenium WebDriver提供一个先进的技术来定位w ... -
XPATH定位
2014-04-21 16:00 0XPATH是一门在XML文档中 ... -
截屏功能
2014-04-25 13:07 5741、使用webdriver封装的API函数截图 //截屏功能, ... -
数据驱动-property
2014-04-21 15:23 0把参数什么的都放在property文件中,然后用Resourc ... -
数据驱动- Junit直接自带关键字驱动
2014-04-21 15:22 0数据驱动- Junit直接自带关键字驱动 -
数据驱动-Excel
2014-04-22 10:21 1233我们在页面的测试中,会发现很多输入框的测试,这些输入框中我们需 ... -
设计自动化测试数据
2014-04-21 15:04 0在之前的测试过程中,测试的数据都是不变的,想换一组测试数据会相 ... -
编写自动化测试代码
2014-04-21 14:46 0在设计文档(也就是自动化测试用例)完成后,就可以开始正式编码了 ... -
设计自动化测试用例
2014-04-21 14:28 0在自动化测试的流程中,需要先设计才能进行正式编码。设计文档一般 ... -
5.11 为测试操作添加事件
2014-04-21 14:23 0如果想要在执行测试操 ... -
5.10 设置管理
2014-04-21 14:12 0在Selenium 2中,可以通过Options对象对测试进行 ... -
5.9 浏览器多窗口处理
2014-04-25 13:06 875在进行Web测试时,还会弹出一些子窗口,并且在多个窗口之间进行 ...
相关推荐
### Python爬虫之CSS选择器详解 #### 一、引言 在进行Web爬虫开发时,高效地从HTML文档中提取所需数据是一项基本而重要的技能。Python作为一门功能强大的编程语言,在网络爬虫领域有着广泛的应用。CSS选择器作为一...
理解并熟练运用这些CSS选择器,能够帮助开发者更有效地控制网页的样式和布局,提高代码的可维护性和效率。在实际开发中,结合CSS3的更多选择器特性,如伪类、伪元素等,可以创建出更为复杂且富有交互性的网页效果。
而CSS选择器(CSS Selector)是Selenium进行页面元素定位的一种非常重要的方式。本文将详细介绍如何使用Selenium配合CSS选择器来进行页面元素的精准定位。 #### 二、CSS选择器简介 CSS选择器是用于匹配文档中的...
通过使用CSS选择器,我们可以精确地定位到HTML文档中的元素,并为其应用样式规则。CSS选择器是CSS的核心组成部分之一,它们决定了哪些元素将被样式化。本文档基于W3School的资料进行整理,旨在详细介绍各种类型的CSS...
【CSS选择器详解】 CSS(Cascading Style Sheets)层叠样式表是用于定义文档样式的语言,主要用于控制网页的布局、颜色、字体等视觉效果。CSS的优势在于它弥补了HTML标记属性在样式定义上的局限性,使得网页设计...
### Jquery CSS选择器详解 #### 一、引言 在网页开发中,CSS选择器是一种强大的工具,用于选择HTML文档中的元素,并应用于样式规则。本文将深入探讨Jquery CSS选择器的重要特性,特别是属性选择器、子选择器以及...
### HTML CSS选择器详解 #### 一、标签选择器(HTML选择器) **定义与功能:** 标签选择器是最基本的选择器类型之一,它通过指定一个或多个HTML标签来匹配文档中的元素。当CSS样式定义指定了某个HTML标签时,该...
避免使用过于复杂的布局,减少重绘和回流,使用适当的选择器,合理使用CSS动画,这些都可以提升页面加载速度和用户体验。 总结,CSS布局是构建网页的核心技能,掌握上述知识点能让你更好地驾驭网页设计,实现各种...
CSS的基本结构由选择器和声明组成。选择器指向要应用样式的HTML元素,而声明则定义具体的样式规则。例如: ```css p { color: red; font-size: 16px; } ``` 在上述代码中,`p`是选择器,表示对所有段落应用样式,`...
1. **选择器**:CSS选择器是用于匹配HTML元素并应用样式的规则。例如,`p`选择器匹配所有段落,`.class`选择器匹配具有特定类名的元素,`#id`选择器匹配具有特定ID的元素。 2. **属性与值**:在CSS中,每条规则由一...
例如,你可以学习如何使用CSS选择器来定位特定元素,应用样式,或者通过JavaScript操作DOM(Document Object Model)来改变网页内容。此外,还会涉及AJAX(Asynchronous JavaScript and XML)技术,用于异步数据交换...
这些选择器是CSS中的基础,掌握它们可以精确地定位并控制页面上的各个元素。 此外,书中会涵盖CSS的盒模型,这是理解元素尺寸和布局的关键。盒模型包括内容区域、内边距、边框和外边距,它们共同决定了元素在页面上...
5. **子代选择器**:使用`>`符号连接两个选择器,表示匹配第一个选择器直接子元素中符合第二个选择器的元素。 ### CSS的盒模型 CSS中的盒模型是理解元素布局的关键。每个元素都被视为一个矩形盒子,它由内容区、内...
选择器是CSS中的关键元素,如ID选择器 (#id)、类选择器 (.class) 和元素选择器 (element),它们用于定位HTML文档中的特定部分。属性则决定了选择器的样式,如颜色、字体、大小、布局等。值可以是颜色代码、长度单位...
CSS选择器作为CSS规则的一部分,用于选择要应用样式的HTML元素。在处理样式时,了解不同选择器的种类、优先级以及匹配原理是非常关键的,它决定了当发生样式冲突时哪个样式会被应用到元素上。 首先,我们来梳理一下...
jQuery支持多种CSS选择器,包括基本选择器、层次选择器、属性选择器和类选择器等。这些选择器可以帮助我们更精确地定位到我们需要操作的DOM元素。 1. **基本选择器**: - `$("#id")`:通过ID选择元素,例如`$("#...
书中还会涉及CSS选择器的使用,包括基础选择器(如元素选择器、类选择器、ID选择器)、伪类和伪元素,以及更高级的选择器如属性选择器和组合选择器。掌握高效的选择器策略可以提高代码的可读性和维护性。 最后,书...
1. **基本选择器**: 类似于`*`(所有元素)、`#id`(ID选择器)、`.`class(类选择器)、`tagname`(元素选择器)。 2. **组合选择器**: 包括相邻兄弟选择器(`+`)、一般同胞选择器(`~`)、子选择器(`>`)等,用于更精确地选取...