Xpath各种语法

目标网址: https://www.f96.net/

# 1.根据节点定位
# 调用xpath 表达式解析 //:全局匹配 title /text(): 里面的文本 定位网页标题

from selenium import webdriver  # 导包
# 实例化浏览器 如果为空就是是用的项目根目录的Chrome驱动
borwser = webdriver.Chrome()
# 请求网址
borwser.get('https://www.f96.net/')
# 隐式等待 每隔半秒请求
borwser.implicitly_wait(10)
ele = borwser.find_elements_by_xpath('//title')
for i in ele:
print(i.get_attribute('outerHTML'))

# 2. 根据属性定位标签节点  定位作者

//div/p[@class="line20" and @id="newarticle_0_intro"]

 

# 3.获取节点的属性  后面/@属性 就会显示=号后面的属性 , /text():获取标签里的文本

//div/p[@class="line20" and @id="newarticle_0_intro"]/@class

 

# 4. 区分 ./  and .//  一个/ 是子节点 //是子孙子节点

//head/meta[@content]//@content

 

# 5.多属性定位

//div/p/a[@title="龙王传说" and @id="newarticle_0_name"]/@href

 

# 6.单属性多值匹配 contains: 作用是一个属性有可能有多个值 只要满足其中一个值就匹配

//div[contains(@class,"c1")]/text()

 

# 7.索引定位标签

//div[@class="nav_cont"]/ul/li[1]/a/text()

 

# 8.last()函数  last: 末尾标签

//div[@class="nav_cont"]/ul/li[last()]

 

# 9.position()函数 位置小于4 也就是前三个标签

//div[@class="asd"]/ul/li[position()]<4

posted @ 2020-06-23 17:11  老祝头  阅读(606)  评论(0编辑  收藏  举报