Html超文本标记语言

网页上单击右键→查看源文件/查看源代码

Html基本结构

<html>               为文档根元素,所有元素都在内部进行

  <head>         文档的头信息,不会在浏览器上显示

    ……

  </head>

  <body>         文档正文,显示浏览器上

    ……

  </body>

</html>

head中使用标签

<tittle></tittle>文档题目显示在标题栏中

<script></script>

<style></style>引用CSS样式

XML可扩展标记语言

http://www.yesky.com/imagesnew/software/html/index.html

XPath  xml文档中查找信息的一种语言

http:www.w3school.com.cn/xpath/index.asp

/以斜线开始路径实例1

 <AAA>

  <BBB/>

  <CCC/>

  <DDD>

    <BBB/>

  </DDD>

  <CCC/>

</AAA>                      XPath表达式:/AAA  选择根元素AAA

/以斜线开始路径实例2

<AAA>

  <BBB/>

  <CCC/>

  <DDD>

    <BBB/>

  </DDD>

  <CCC/>

</AAA>                       XPath表达式:/AAA/CCC  选择AAA的子元素CCC

/以斜线开始路径实例3

<AAA>

  <BBB/>

  <CCC/>

  <DDD>

    <BBB/> 

  </DDD>

  <CCC/>

</AAA>                       XPath表达式:/AAA/DDD/BBB  选择AAA的子元素DDD的子元素BBB               绝对路径

//以双斜线开始路径实例1

<AAA>

  <BBB/>

  <CCC/>

  <BBB/>

  <DDD>

    <BBB/>

  </DDD>

<CCC/>

  <DDD>

    <BBB/>

    <BBB/> 

  </DDD>

<CCC/>

</AAA>                              XPath表达式://BBB  选择所有BBB元素

//以双斜线开始路径实例2

<AAA>

  <BBB/>

  <CCC/>

  <BBB/>

  <DDD>

    <BBB/>

  </DDD>

<CCC/>

  <DDD>

    <BBB/>

    <BBB/> 

  </DDD>

<CCC/>

</AAA>                          XPath表达式://DDD/BBB  选择所有父元素是DDD的BBB元素                       相对路径

*以星号开始路径实例1

<AAA>

  <CCC/>

    <DDD>

      <BBB/> 

      <BBB/>   

      <EEE/> 

      <EEE/>

    </DDD>

  <CCC/>

</AAA>                                      XPath表达式:/AAA/CCC/DDD/*  选择所有路径依附于/AAA/CCC/DDD/的元素

*以星号开始路径实例2

<AAA>

  <XXX/>

    <DDD>

      <BBB/> 

      <BBB/>   

      <EEE/> 

    </DDD>

  <XXX/>

  <CCC/>

    <BBB>

      <BBB/> 

        <BBB/>   

      <BBB/> 

    <BBB/>

  <CCC/>

</AAA>                                     XPath表达式:/*/*/*/BBB  选择所有有3个祖先元素的BBB元素

*以星号开始路径实例3

<AAA>                    

  <CCC/>

    </DDD>

  <CCC/>

</AAA>                                  XPath表达式://*  选择所有元素

[]使用方括号限定元素实例1

<AAA>

  <BBB/>

  <BBB/>

  <BBB/>

</AAA>                                  XPath表达式:/AAA/BBB[1]  选择AAA的第一个BBB子元素

[]使用方括号限定元素实例2  索引号

<AAA>

  <BBB/>

  <BBB/>

  <BBB/>

</AAA>                                  XPath表达式:/AAA/BBB[last()]  选择AAA的最后一个BBB子元素

[position<3]最前面两个

[price>35.00]

@通过@指定属性实例1

<AAA>

  <BBB id=“b1”/>

  <BBB id=“b2”/>

  <BBB name=“bbb”/>

  <BBB/>

</AAA>                                  XPath表达式://@id  选择所有的id属性(注意,选取的是元素的属性,而不是元素)

@通过@指定属性实例2

<AAA>

  <BBB id=“b1”/>

  <BBB id=“b2”/>

  <BBB name=“bbb”/>

  <BBB/>

</AAA>                                  XPath表达式://BBB[@id]  选择所有id属性的BBB元素(//BBB[@name]  选择所有name属性的BBB元素)

@通过@指定属性实例3

<AAA>

  <BBB id=“b1”/>

  <BBB id=“b2”/>

  <BBB name=“bbb”/>

  <BBB/>

</AAA>                                  XPath表达式://BBB[@*]  选择有任意属性的BBB元素

@通过@指定属性实例4

<AAA>

  <BBB id=“b1”/>

  <BBB id=“b2”/>

  <BBB name=“bbb”/>

  <BBB/>

</AAA>                                  XPath表达式://BBB[not(@*)]  选则没有属性的BBB元素

使用属性值作为选择准则1

<AAA>

  <BBB id=“b1”/>

  <BBB id=“b2”/>

  <BBB name=“bbb”/>

  <BBB/>

</AAA>                                  XPath表达式://BBB[@id='b1']  选则含有属性id=‘b1’的BBB元素

使用模糊属性定位元素

//img[Starts-with(@alt,'dic1')                查找图片alt属性开始位置包含“div1”关键字的页面元素

//img[contains(@alt,'g1')]                     查找图片alt属性包含“g1”关键字的页面元素

|使用分隔符“|”合并多个路径实例1

<AAA>

  <BBB/>

  <CCC/>

  <DDD>

    <CCC/> 

  </DDD>

  <EEE/>

</AAA>                       XPath表达式:/AAA/EEE|//DDD/CCC|AAA|//BBB  合并没有限制

使用页面元素文本的文本来定位

//a[text()='百度搜索']:文字匹配

//a[contains(text(),'百度')],包含文字

//aa[contains(text(),'百度')]/preceding::div

XPath轴(Axis)

parent:上层父节点             //img[@alt='div2-img2']/parent::div          查找到alt属性值为div2-img2的图片,并基于图片位置找到他上一级的div页面元素

clild    :当前节点的下层子节点             //img[@id='div1']child::img                       查找到id属性值为div1的div页面元素,并基于div的位置找到他下层节点中img页面元素

child::text():当前节点的所有文本子节点

child::node():当前节点的所有子节点

child::*/child::price:当前节点的所有 price 孙节点

ancestor:当前节点所有上层节点         //img[@alt='div2-img2']/ancestor::div       查找到alt属性值为div2-img2的图片,并基于图片位置找到他上级的div页面元素

ancestor-or-self:当前节点的所有先辈(父、祖父等)以及当前节点本身

descendant:当前节点所有下层节点     //img[@name='div2']/descendant::img      查找到name属性值为div页面元素,并基于div的位置找到他下级所有节点中的img页面元素

descendant-or-self:当前节点的所有后代元素(子、孙等)以及当前节点本身。

following:当前节点之后显示的所有节点  //div[@id='div1']/following::img              查找到id属性值为div1的div页面元素,并基于div位置找到他后面节点的img页面元素

following-sibling:当前节点的之后所有平级节点//a[@href='www.com']/following-sibling::input查找到链接的页面元素,并基于链接位置找到他后面节点中的input页面元素

preceding:当前节点前面的所有节点  //img[@alt='div2-img2']/preceding::div       查找到alt属性值为div2-img2的图片,并基于图片位置找到他前面节点的div页面元素

preceding-sibling:当前节点前面的所有平级节点//img[@alt='div2-img2']/preceding-sibling::a[1]查找属性为div2-img2的图片,并基于图片位置找到他前面平级节点中的页面元素

attribute:当前节点的所有属性。

namespace:当前节点的所有命名空间节点。

self:当前节点。

运算符

| 计算两个节点集 //book | //cd 返回所有拥有 book 和 cd 元素的节点集
+ 加法 6 + 4 10
- 减法 6 - 4 2
* 乘法 6 * 4 24
div 除法 8 div 4 2
= 等于 price=9.80

如果 price 是 9.80,则返回 true。

如果 price 是 9.90,则返回 false。

!= 不等于 price!=9.80

如果 price 是 9.90,则返回 true。

如果 price 是 9.80,则返回 false。

< 小于 price<9.80

如果 price 是 9.00,则返回 true。

如果 price 是 9.90,则返回 false。

<= 小于或等于 price<=9.80

如果 price 是 9.00,则返回 true。

如果 price 是 9.90,则返回 false。

> 大于 price>9.80

如果 price 是 9.90,则返回 true。

如果 price 是 9.80,则返回 false。

>= 大于或等于 price>=9.80

如果 price 是 9.90,则返回 true。

如果 price 是 9.70,则返回 false。

or price=9.80 or price=9.70

如果 price 是 9.80,则返回 true。

如果 price 是 9.50,则返回 false。

and price>9.00 and price<9.90

如果 price 是 9.80,则返回 true。

如果 price 是 8.50,则返回 false。

mod 计算除法的余数 5 mod 2 1

【Selenium】HTML/XML/XPATH基础的更多相关文章

  1. HTML/XML/XPATH基础

    Html超文本标记语言 网页上单击右键→查看源文件/查看源代码 Html基本结构 <html>               为文档根元素,所有元素都在内部进行 <head>   ...

  2. 『心善渊』Selenium3.0基础 — 6、Selenium中使用XPath定位元素

    目录 1.Selenium中使用XPath查找元素 (1)XPath通过id,name,class属性定位 (2)XPath通过标签中的其他属性定位 (3)XPath层级定位 (4)XPath索引定位 ...

  3. JavaEE XML XPath

    JavaEE XML XPath @author ixenos XPath技术 1 引入 问题:当使用dom4j查询比较深的层次结构的节点(标签,属性,文本),比较麻烦!!!需要遍历DOM树的众多节点 ...

  4. 面试准备——(三)Selenium(1)基础问题及自动化测试

    转载:https://www.cnblogs.com/lesleysbw/p/6413880.html 面试准备——(三)Selenium(1)基础问题及自动化测试   滴滴面试: 1. 自己负责哪部 ...

  5. xpath基础

    XML:一种可扩展标记语言,HTML就是一种XML XPATH:也是一个W3C标准,在所有XML中均可使用 XPATH的路径规则 /表示跟节点 /html 表示html这个元素 /html/body ...

  6. WP8 中使用HTML Agility Pack与友盟分享SDK遇到的 System.Xml.XPath加载问题

    今晚在尝试使用友盟最新的社交分享SDK时,按照官方Demo,并未做多少多少改动,就是去除了对微信.脸书和推特的分享.然后运行之后就一直报错 : {System.IO.FileLoadException ...

  7. Python selenium PO By.XPATH定位元素报错

    Python selenium PO  By.XPATH定位元素报错 如下代码经常报错: # 首页的“新建投放计划”按钮 new_ads_plan = (By.XPATH, "//*[tex ...

  8. XML的基础之一(概念和语法)

    XML的基础(概念和语法) xml html 概念 异同  XML全称为extensible markup language,即可扩展标记语言,简单理解为可预定义标签的编程语言.它与HTML(超文本标 ...

  9. XML & XPath & XQuery

    XML & XPath & XQuery full XPath demo https://www.w3.org/TR/xpath-full-text-30/ https://www.w ...

随机推荐

  1. 大数据学习——flume拦截器

    flume 拦截器(interceptor)1.flume拦截器介绍拦截器是简单的插件式组件,设置在source和channel之间.source接收到的事件event,在写入channel之前,拦截 ...

  2. FZU- Problem 1147 Tiling,递推坑题,大数水过~~

    Problem 1147 Tiling Time Limit: 1000 mSec Memory Limit : 32768 KB http://acm.fzu.edu.cn/problem.php? ...

  3. POJ 2777 Count Color【线段树】

    题目大意:要求完成以下两个操作:1.将一个区间刷上一种颜色2.询问一段区间上有多少种颜色 思路:这两个操作线段树都可以很迅速的完成,具体做法是:线段树上每个节点存这个线段上的颜色数量,由于颜色数很少, ...

  4. NodeJS仿WebApi路由

    用过WebApi或Asp.net MVC的都知道微软的路由设计得非常好,十分方便,也十分灵活.虽然个人看来是有的太灵活了,team内的不同开发很容易使用不同的路由方式而显得有点混乱. 不过这不是重点, ...

  5. hdu 5188 zhx and contest [ 排序 + 背包 ]

    传送门 zhx and contest Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Othe ...

  6. SGU 194 无源无汇可行流求解

    题意:n个点,m条边,每条边有容量限制 l--c,每个点满足容量平衡(流入等于流出),求可行解 无源无汇可行流问题,建立以一个超级源点和超级汇点,由于原来最大流问题时候,流量下界其实为0, 所以要转化 ...

  7. poj2186 求有向图G中所有点都能到达的点的数量

    /*题意:有向图,求这样的点的数量:所有点都能到达它.缩点成有向无环图,思:如果该强连通有出度,那么 从该出度出去的边必然回不来(已经缩点了),所以有出度的强连通必然不是.那么是不是所有出度为0的强连 ...

  8. codeforces 938F(dp+高维前缀和)

    题意: 给一个长度为n的字符串,定义$k=\floor{log_2 n}$ 一共k轮操作,第i次操作要删除当前字符串恰好长度为$2^{i-1}$的子串 问最后剩余的字符串字典序最小是多少? 分析: 首 ...

  9. Java面试题总结(一)---Java基础

    Java面试题总结(一)---Java基础 1.面向对象的特征有哪些? 答:面向对象的特征主要有以下几个: 1)抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方 ...

  10. Java实现网页截屏

    原文:http://www.open-open.com/code/view/1424006089452 import java.awt.AWTException; import java.awt.De ...