| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Python知识库 -> Python自学笔记21-selenium中的Xpath元素定位方法&爬虫实践 -> 正文阅读 |
|
[Python知识库]Python自学笔记21-selenium中的Xpath元素定位方法&爬虫实践 |
Xpathxpath学习地址:https://www.w3school.com.cn/xpath/index.asp 什么是xpath?
注意! 1.xpath中的值用引号引起来时,在代码中要注意区分,内单外双,内双外单。 2.xapth的class的值要填写全部,注意与find_element_by_class_name的区别。 3.xpath还支持逻辑运算符and/or,多用and来缩小范围,例如//*[@id='username' and @type='text'] 4.要注意xpath中//input[1]代表第一个input标签,而不是用0,与python中的下标索引不同。
自动化测试中不常用,爬虫中常用,仅做了解。 学习网址:https://www.w3school.com.cn/xpath/xpath_axes.asp
selenium中使用xpath为了练习,我自己想了个需求。 用selenium的xpath定位方式写一个脚本,获取微博热搜内容 步骤 1.打开微博官网https://weibo.com 2.找到热搜榜按钮位置,点击 3.找到热搜标题位置,获得文本 打开微博官网后我们找到热搜榜按钮,然后右键--检查,找到我们要点击的位置 发现这个标签里的属性比较多,所以首先尝试用属性法看能不能找到 通过role='link'找到4个,不唯一。 换title试试 咦,如此简单么,找到了 接下来找热搜标题的xpath路径 先手动复制热搜榜前五标题的xpath路径 方法:选中标题位置--右键检查 找到对应标签行后,再右键--复制--XPath 得到前五条热搜名称的xpath路径,并观察规律 然后尝试精简路径。用尽可能短的路径定位到唯一元素(因为我发现路径太长,会概率性出现定位不到元素) 根据找到的规律(变化最明显的点和最有识别度的标签名称)对路径进行简化,经过无数次的调试(我太菜了) 精简后热搜第一名的可用路径为
ok,xpath的路径准备好之后,就可以写代码了
结果如下
试了几次,成功率还是挺高的。 有点开心。 再整一下豆瓣的电影排行榜
结果如下:
ps:这部分刚学的,所以代码中的xpath路径虽然能满足需求,但应该还有很多更优的写法,大家私下可以教教我。 总结:
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/16 4:16:46- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |