BeautifulSoup标签定位方法总结
首先说明一下两个基本函数 .find() 和 .findAll()。
find()返回第一个符合要求的标签
findAll()返回一个由所有符合要求的标签组成的列表。除此之外基本相同。
0、直接定位
例:
<body>
<table>
<td>apple</td>
<td>banana</td>
</table>
</body>
label_loc = bs.body.table.td
1、通过标签名定位
例:<table>
<td>apple</td>
<td>banana</td>
<table>
bs.find("td") 返回第一个<td></td>
bs.findAll("td") 返回所有<td></td>
2、通过标签属性定位
例:<table>
<td name="fruit">apple</td>
<td name="fruit">apple</td>
</table>
bs.find(name="fruit") 返回第一个<td></td>
bs.findAll(name="fruit") 返回所有<td></td>
3、通过标签名+属性定位
例:<table>
<td name="fruit">apple</td>
<td name="fruit">apple</td>
</table>
bs.find("td",{"name":"fruit"}) 返回第一个<td></td>
findAll 同理
请注意2与3的区别。
find(name="fruit") != find("td",{"name":"fruit"})
方法3有<td>的限制条件。
4、通过text定位
例:<table>
<td>apple</td>
<td>banana</td>
<table>
find(text="apple") 返回<td></td>
注意text匹配必须完全相同,而且应在同一标签内。find(text="app") 返回None
想要只匹配部分文本,应使用正则表达式,接下来介绍。
5、通过正则表达式与以上方式组合
例:<table>
<td name="fruit">apple</td>
<td name="fruit">apple</td>
</table>
find(text=re.compile("app")) 返回含有app的标签
bs.find("td",{"name":re.compile("fruit")})
BeautifulSoup标签定位方法总结的更多相关文章
- Selenium定位一 --单个元素定位方法
Selenium-Webdriver 提供了强大的元素定位方法,支持以下三种方法. 单个对象的定位方法 多个对象的定位方法 层级定位 定位单个元素在定位单个元素时,selenium-webdriver ...
- sellenium页面元素的定位方法
1.findElements函数可用于多个元素定位 (1)使用ID定位:driver.findElement(By.id("ID值")); 例:HTML代码: 定位语句代码:Web ...
- UI自动化测试(二)浏览器操作及对元素的定位方法(xpath定位和css定位详解)
Selenium下的Webdriver工具支持FireFox(geckodriver). IE(InternetExplorerDriver).Chrome(ChromeDriver). Opera( ...
- 元素定位-XPATH定位方法总结
1.Xpath定位方法探讨 xpath是比较常用的一种定位元素的方式,因为它很方便,缺点是,消耗系统性能.如果Xpath使用的比较好,几乎可以定位到任何页面元素,而且受页面变化影响较小. 1.1.什么 ...
- Python3+Selenium2完整的自动化测试实现之旅(三):Selenium-webdriver提供的元素定位方法
本篇以实例介绍selenium下的webdriver模块提供的定位页面元素(也可以称为对象)的方法和使用技巧,在此注意:在做WEB自动化测试前,需要对前端相关的技术有所了解,如HTML.XML.Xpa ...
- DWM1000 多个标签定位讨论 --[蓝点无限]
多标签代码已经基本实现,完成代码可以在论坛上下载 http://bphero.com.cn/forum.php?mod=viewthread&tid=53&fromuid=2 蓝点D ...
- Web Driver 8中定位方法 ——基于python语言
WebDriver提供了八种元素定位方法,在python 语言中,方法如下: id定位:find_element_by_id("id值"):id属性是唯一的. 1 driver ...
- selenium各种定位方法(转)
selenium使用 Xpath CSS JavaScript jQuery的定位方法 (治疗selenium各种定位不到,点击不了的并发症) 2017年07月28日 22:47:36 阅读数:369 ...
- Selenium3详解(基本操作,定位方法)
如果想使用selenium驱动不同的浏览器,必须单独下载并设置不同的浏览器驱动. 基本操作: 刷新:refresh, 获取浏览器窗口大小:get_window_size 设置浏览器窗口大小:set_w ...
随机推荐
- 【原创】http请求中加号被替换为空格?源码背后的秘密
这是why技术的第**20**篇原创文章声明式访问Feign、负载均衡Ribbon
0-前言 eureka实际上已经集成了负载均衡调度框架Ribbon: 我们有了各个微服务了,那怎么来调用他们呢,一种方法是可以使用 RestTemplate(如:String str= restTem ...
- 09_$.ajax()参数详解及标准写法
1.url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址. 2.type: 要求为String类型的参数,请求方式(post或get)默认为get.注意其他http请求方法,例如 ...
- Ant Design中getFieldDecorator方法的特殊用法(小bug)
记录Ant Design中getFieldDecorator方法的特殊的一个用法 了解Ant Design表单的小伙伴都知道,getFieldDecorator在大部分情况下是用来绑定一个控件的,即像 ...
- ASCII、UNICODE、UTF
在计算机中,一个字节对应8位,每位可以用0或1表示,因此一个字节可以表示256种情况. ascii 美国人用了一个字节中的后7位来表达他们常用的字符,最高位一直是0,这便是ascii码. 因此asci ...
- 1z0-062 题库解析2
Examine the parameters for a database instance: NAME TYPE VALUE-------------------------------- ---- ...
- 最短路Dijkstra算法模板
// // dijkstra妯℃澘.cpp // algorithm // // Created by david.xu on 2018/8/6. // Copyright 漏 2018骞?david ...
- jQuery, 文本框获得焦点后, placeholder提示文字消失
文本框获得焦点后, 提示文字消失, 基于jQuery, 兼容性: html5 //所有文本框获得焦点后, 提示文字消失 $('body').on('focus', 'input[placeholder ...