有没有想过css定位与xpath的区别

我是这样理解的, css选择如同你尽可能具体的描述一个元素的形态, 包括他的: 标签, 类, id 以及这些的组合, 目标是尽可能确定元素的唯一坐标 , 以方便选择. 而xpath是根据元素的路径去确定坐标的.

举个例子, 形容上海, 用css可能会是 它是一座直辖市(类),在长江下游(标签),是中国最大的城市(id),人口众多,经济发达(其他标签)

用xpath则是: 它是东经 121°.4′ ;北纬 31°.2′ 的城市(绝对路径) 或者 江苏以南,浙江以北,苏州市东侧,长江入海口(相对路径)

css选择是依据页面的数据样式定位的, 有标签选择, 类选择, id选择, 或者他们的交并集, 除此之外没有其他的辅助元素了 .

xpath是路径表达式,所有元素和内容都可以成为路径的一部分. 两种定位方式功能基本一致, 但是xpath明显更强大, 只是xpath写起来较复杂,css写起来容易些

做过一些实验,用css有时候会选到一堆数据, 用xpath则是唯一的, 比较好用的工具比如firefox的插件view xpath ,可以比较准确的直接选择

实际中有时候会遇到两个元素的标签, 类, id完全一致的情况,这时候用css就比较难搞了,虽然这种情况很少.  但是xpath绝对路径就可以解决

时间: 2024-12-13 18:51:57

有没有想过css定位与xpath的区别的相关文章

python-selenum3 第五天定位——不常用定位与css定位详

使用tag来定位tag定位的是标签,不常用例如:百度的输入框标签是input最终会报错,因为百度首页input标签太多了 driver = webdriver.Firefox(executable_path="d:\\geckodriver") driver.get("https://www.baidu.com") driver.find_element_by_tag_name("input").send_Keys("123"

R语言爬虫:CSS方法与XPath方法对比(表格介绍)

css 选择器与 xpath 用法对比 目标 匹配节点 CSS 3 XPath 所有节点 ~ * //* 查找一级.二级.三级标题节点 <h1>,<h2>,<h3> h1,h2,h3 //h1,//h2,//h3 所有的P节点 <p> p //p p节点的所有子节点 <p>标签下的所有节点 p > * //p/* 查找所有包含attr属性的li标签 <li attr="~"> li[attr] li[@att

css absolute与relative的区别

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-

Xpath定位与Css定位

一. xpath定位:支持属性定位,只要属性唯一就可以定位到,无论是默认属性还是自定义属性 1.属性定位: 代码格式: //*[@name="city"] 如果有多个属性: /*[@name="city" and @size="4"] 其中//*代表全部元素,也可以用//select来过滤div的属性 2.角标定位: //div[@class='driver'][1]/div[1] 二.Css定位: 1.id选择器定位方式: #id 2.clas

CSS 相对/绝对(relative/absolute)定位与jQuery的控制显示隐藏

曾经写显示隐藏老是用jq方法控制: dom.show(); dom.hide(); 事实上这样还是有非常多缺陷的. 这是html结构: <div class="holi"> here are some test words </div> <div id="button">点击显示</div> 假设使用position:absolute和top-9999px控制点隐藏 .holi{ width: 200px; heigh

【JavaScript.6】阶段概念总结之HTML+CSS+JavaScript+xml+xpath+Json+Ajax

[前言] 最近学习了很多BS的新东西,有很多新名称,概念多了,理解也少了,很多东西都混乱.今天静下来把学到的几 个概念性东西总结一下.本文多是一些概念性的个人理解,希望同样存在疑惑的小伙伴看完后能够如入桃源般地豁然 开朗.当然如果我的理解有偏差,请指出来,共同进步. 关于BS的学习,相信很多人都已经走过了,当初最开始接触的是牛腩,里面用到了很多BS的知识,包括HTML. CSS.JavaScript和Ajax等.对于有基础或者正处于迷惑之间的人来说,接下来的话可能会很有感触. [HTML] 首先

1定位与 2一些小标签的使用 3版心作用 4元素之间的转换 5项目准备

1定位的使用: 1固定定位(position:fixed) 2绝对定位(position:absolute) 3相对定位(position:resitive) 4静态定位(position:static)默认 脱标 脱标 不脱标 不脱标 模式转换(inline-block) 模式转换(inline-block) 模式不转换(占据原来在标准流里的位置) 模式不转换 相对浏览器定位 父盒子无定位(static):相对浏览器 父盒子有定位(除是static): 相对父盒子 相对原来位子定位 没有作用

fixed定位与absolute定位

相同点: 1.fixed定位和absolute定位都是绝对定位 2.fixed定位和absolute定位都脱离了标准文档流, 3.未设置偏移量时,都定位在父元素的左上角 tip:元素设置相对定位或绝对后,就具有了偏移属性和堆叠属性Z-index,属性值越大,越靠上 不同点: fixed定位: 设置偏移量后:无论有无已经定位的祖先元素,都相对于浏览器窗口进行偏移 未设置偏移量:以其父元素为基准定位,会继续包含在父包含块中. 表现形式:位置固定,不会随滚动条变化:被他遮盖的元素,可以从其下穿过. a

CSS中em,rem的区别

首先这两个单位一般用在移动端 不太清楚得求证  再记录 1.em w3cschool中给出css中尺寸单位如下: 单位 描述 % 百分比 in 英寸 cm 厘米 mm 毫米 em 1em 等于当前的字体尺寸. 2em 等于当前字体尺寸的两倍. 例如,如果某元素以 12pt 显示,那么 2em 是24pt. 在 CSS 中,em 是非常有用的单位,因为它可以自动适应用户所使用的字体. ex 一个 ex 是一个字体的 x-height. (x-height 通常是字体尺寸的一半.) pt 磅 (1