定位的网页的地址:https://item.jd.com/100000323510.html
xpath绝对定位:

1 以“/”开头的是绝对定位
2 /html/body/div[1] :div的下标从1开始
3 js后面写xpath定位:$X('/html/body/div[1]') :$X后面是xpath定位
4 js后面写css的定位:$$("css") 或者 $("css")

xpath相对定位

1.以“//”开头的是相对定位
2."*”表示所有
3.//dl/dd[(last())] :定位到所有dd标签的最后一个
4.属性定位://div[@class='tab-con'] 表示以div标签开头的,属性为class,属性值为tab-con的元素,其中属性可以为任意属性,例如://div/[@id=''] 等等
5.not:取反向 //div[not(@class='tab-con')] 表示不包含div下的class=‘Ptable-tips'的其他标签,
6.contains:包含函数 not(contains(@class,'不包含的元素')) :不包含某个元素
7.normalize-space:去掉属性的值里面的空格 //div[normalize-space(@id)='guarantee'] 例如: <id=' guarantee'>
8.count():计算个数 //dl/*[conut(dd)=2] 表示所有dl标签下包含两个dd标签的元素
9.//*[name()='dd'] 表示标签名称为dd的所有元素
10.starts-with:指定标签名字----定义标签中以某个字符开的的标签 例如://*[start-with(name(),'i')] 表示标签名以i开头的元素,其中name()表示标签的名字
11.starts-with:指定标签属性 //*[starts-with(@tdata-tab,'it')]
12.parent:找父标签 //div[@class='Ptable-item']/parent::*
13.child:找儿子标签 //div[@class='Ptable-item']/child::* 或者 //div[@class='Ptable-item']/*
14.following-sibling:弟弟标签 //dl[@class='clearfix'][2]/following-sibling::*
15.preceding-sibling:哥哥标签 //dl[@class='clearfix'][2]/preceding-sibling::*
16.descendant:后代标签 //div[@class='clearfix']/descendant::*
17.ancestor:祖先标签 //div[@class='clearfix']/ancestor::*
18.position():对位置计算 //dl/dd[not(contains(@class,'Ptable-tips'))][position() mod 2 = 0] 对定位的标签的下标取能被2整除的

css定位:

1. .表示:class
2. #表示:id
3. ,表示链接符:#test1,#test2
4. .login dl :表示标签属性为class=login 下的标签为dl的所有后代
5. .login>dl :表示标签属性class=login 下的标签为dl的儿子

css属性定位:

1.div[class=login_j] 和xpath的属性定为有点类似 //div[@class='login_1'] 这是用xpath写的
2. * :a[herf*=jd] : a标签的herf属性包含字符jd的标签 a[title*=apple] title包含apple
3. ^ :a[title^="联想"] :a标签title属性以“联想”开头的

css和xpath定位补充的更多相关文章

  1. Selenium基础知识(详解IDE命令、css及xpath定位一)

    1. ide常用命令,参考 http://sariyalee.iteye.com/blog/1743350  2. ide介绍,参考 http://blog.csdn.net/oscar999/art ...

  2. Selenium2学习(四)-- xpath定位

    前言 在上一篇简单的介绍了用工具查看目标元素的xpath地址,工具查看比较死板,不够灵活,有时候直接复制粘贴会定位不到.这个时候就需要自己手动的去写xpath了,这一篇详细讲解xpath的一些语法. ...

  3. 常用的CSS定位,XPath定位和JPath定位

    CSS定位 举例 描述 div#menu id为menu的div元素 div.action-btn.ok-btn class为action-btn和ok-btn的div元素 table#emailLi ...

  4. UI自动化测试(二)浏览器操作及对元素的定位方法(xpath定位和css定位详解)

    Selenium下的Webdriver工具支持FireFox(geckodriver). IE(InternetExplorerDriver).Chrome(ChromeDriver). Opera( ...

  5. Python+Selenium 利用ID,XPath,tag name,link text,partial link text,class name,css,name定位元素

    使用firefox浏览器,查看页面元素,我们以“百度网页”为示例 一.ID定位元素    利用find_element_by_id()方法来定位网页元素对象 ①.定位百度首页,输入框的元素 ②.编写示 ...

  6. web中的CSS、Xpath等路径定位方法学习

    今天不到八点就到公司了,来的比较早,趁着有点时间,总结下web中的CSS.Xpath等路径定位定位的方式吧! 简单的介绍下xpath和css的定位 理论知识就不罗列了 还是利用博客园的首页.直接附上代 ...

  7. xpath定位和css定位对比

    xpath定位和css定位对比   实际项目中使用较多的是xpath定位和css定位.XPath是XML文档中查找结点的语法,换句话就是通过元素的路径来查找这个元素.xpath比较强大,而css选择器 ...

  8. css选择器用法,使用css定位元素,css和xpath元素定位的区别

    css定位元素 1.什么是css? CSS(Cascading Style Sheets)层叠样式表,是一种语言,用来描述html或者xml的显示样式.在css语言中有css选择器,在selenium ...

  9. 黄聪:C#操作xml SelectNodes,SelectSingleNode通过 xPath 定位class包含Contains的DIV

    一. SelectNodes,SelectSingleNode总是返回NULL 下面以一个简单的xml为例: <?xml version="1.0"?> <mes ...

随机推荐

  1. Linux设备驱动模型简述(源码剖析)

    1. Linux设备驱动模型和sysfs文件系统 Linux内核在2.6版本中引入设备驱动模型,简化了驱动程序的编写.Linux设备驱动模型包含设备(device).总线(bus).类(class)和 ...

  2. ctfhub 报错注入

    payload   1 Union select count(*),concat((查询语句),0x26,floor(rand(0)*2))x from information_schema.colu ...

  3. Swift入门

    Swift 入门 简介 Swift 语言由苹果公司在 2014 年推出,用来撰写 OS X 和 iOS 应用程序 2014 年,在 Apple WWDC 发布 历史 2010 年 7 月,苹果开发者工 ...

  4. [Leetcode]225. 用队列实现栈 、剑指 Offer 09. 用两个栈实现队列

    ##225. 用队列实现栈 如题 ###题解 在push时候搞点事情:push时入队1,在把队2的元素一个个入队1,再交换队2和队1,保持队1除pushguocheng 始终为空. ###代码 cla ...

  5. JUC使用

    1.什么是JUC 源码 + 官方文档 面试高频问! java.util 工具包.包.分类 业务:普通的线程代码 Thread Runnable 没有返回值.效率相比入 Callable 相对较低! 2 ...

  6. java面试题2-自己整合的

    1.HashMap的底层实现原理 HashMap是数组+链表组成的实现了Map.Cloneable.Serializable接口,继承了AbstractMap类 HashMap是否线程安全? Hash ...

  7. ThreadLocal 和神奇的数字 0x61c88647

    这篇文章会详细阐述ThreadLocal的内部结构及其原理,以及神奇的0x61c88647 在Java 1.4之前,ThreadLocals会产生线程间的竞争,无法写出高性能的代码. Java 1.5 ...

  8. 容器云平台No.4~kubernetes 服务暴露之Ingress

    这是容器云平台第四篇,接上一篇继续, 首先kubernetes服务暴露有如下几种方式: NodePort Loadbalance ClusterIP Ingress 本文紧贴第一篇架构图,只介绍Ing ...

  9. hexo博客添加gitalk评论系统

      经过了一天的折腾,我终于为自己的博客添加上了评论系统.坦率的讲,为什么网上那么多方案我还要自己写一篇博客,那就是因为他们说的都有bug,所以我要自己总结一下.   我选用的是gitalk评论系统, ...

  10. Appium 用途和特点

    Appium 是一个移动 App (手机应用)自动化工具. 手机APP 自动化有什么用? 自动化完成一些重复性的任务 比如微信客服机器人 爬虫 就是通过手机自动化爬取信息. 为什么不通过网页.HTTP ...