定位的网页的地址: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属性以“联想”开头的