Python selenium xpath —— 父子、兄弟、相邻、间隔节点定位方式详解

1. 由父节点定位子节点

最简单的肯定就是由父节点定位子节点了,我们有很多方法可以定位,下面是个例子:

代码如下:

<html>
<body>
<div id="A">
    <!--父节点定位子节点-->
    <div id="B">
        <div>parent to child</div>
    </div>
</div>
</body>
</html>

想要根据 B节点 定位无id的子节点,代码示例如下:

# -*- coding: utf-8 -*-
from selenium import webdriver
 
driver = webdriver.Firefox()
driver.get('http://localhost:8888/test.html')
 
# 1.串联寻找
print driver.find_element_by_id('B').find_element_by_tag_name('div').text
 
# 2.xpath父子关系寻找
print driver.find_element_by_xpath("//div[@id='B']/div").text
 
# 3.css selector父子关系寻找
print driver.find_element_by_css_selector('div#B>div').text
 
# 4.css selector nth-child
print driver.find_element_by_css_selector('div#B div:nth-child(1)').text
 
# 5.css selector nth-of-type
print driver.find_element_by_css_selector('div#B div:nth-of-type(1)').text
 
# 6.xpath轴 child
print driver.find_element_by_xpath("//div[@id='B']/child::div").text

执行结果如下:

parent to child
parent to child
parent to child
parent to child
parent to child
parent to child

第1到第3都是我们熟悉的方法,

第4种方法用到了css选择器:nth-child(n),该选择器返回第n个节点,该节点为div标签;<

  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值