selenium与xpath之获取指定位置的元素的实现


Posted in Python onJanuary 26, 2021

今天有点新的与大家分享,关于selenium与xpath之间爬数据获取指定位置的时候,方式不一样哦。

详情可以看我的代码,以b站来看好吧:

selenium与xpath之获取指定位置的元素的实现

查看这href元素,如果是xpath,肯定这么写是没有问题的:

i.find_element_by_xpath('./a/@href')

但你再selenium里面这样写会报错,所以要改成这样

i.find_element_by_xpath('./a').get_attribute('href')

这样方可正确

这是一个小案例,关于爬取b站音乐视频,但我的技术水平有限,无法下载,找不到那个东东

大家如果知道如何下载可以在评论区留言,嘿嘿

import requests
from selenium.webdriver import Chrome,ChromeOptions
#后面越来越多喜欢用函数来实现了
def get_webhot():  #热搜函数
  headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.141 Safari/537.36'
  }
  url ="https://www.bilibili.com/" # 微博的地址

  res = requests.get(url)
  #这个就是再后台上面运行那个浏览器,不在表面上占用你的
  option = ChromeOptions()
  option.add_argument('--headless')
  option.add_argument("--no-sandbox")
  #这里也要输入
  browser = Chrome(options=option)
  browser.get(url)
  #解析那个web热搜前,按住ctrl+f会在下面出现一个框框,然后改就完事
  browser.find_element_by_xpath('//*[@id="primaryChannelMenu"]/span[3]/div/a/span').click()
  c = browser.find_elements_by_xpath('//*[@id="high_energy"]/div[1]/div[2]/div')
  for i in c:
    #这里一定要注意,在selenium中不能像xpath那样写('./a/@href')来获取指定的位置,要报错,只能这么获取,查了很久
    detail_url = i.find_element_by_xpath('./a').get_attribute('href')
    name = i.find_element_by_xpath('./a/p').get_attribute('title')
    detail_page_text = requests.get(url=detail_url,headers = headers).text
    print(detail_url,name)
#运行完事
get_webhot()

这是这个结果

selenium与xpath之获取指定位置的元素的实现

到此这篇关于selenium与xpath之获取指定位置的元素的实现的文章就介绍到这了,更多相关selenium与xpath指定位置元素内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
用Python写冒泡排序代码
Apr 12 Python
django之session与分页(实例讲解)
Nov 13 Python
解决python3 HTMLTestRunner测试报告中文乱码的问题
Dec 17 Python
Python Image模块基本图像处理操作小结
Apr 13 Python
python函数的万能参数传参详解
Jul 26 Python
Python数据可视化 pyecharts实现各种统计图表过程详解
Aug 15 Python
用OpenCV将视频分解成单帧图片,图片合成视频示例
Dec 10 Python
Pytorch DataLoader 变长数据处理方式
Jan 08 Python
tensorflow实现在函数中用tf.Print输出中间值
Jan 21 Python
python将数据插入数据库的代码分享
Aug 16 Python
python 爬虫如何实现百度翻译
Nov 16 Python
Selenium获取登录Cookies并添加Cookies自动登录的方法
Dec 04 Python
详解Python中的Lock和Rlock
Jan 26 #Python
5分钟快速掌握Python定时任务框架的实现
Jan 26 #Python
Python爬虫自动化爬取b站实时弹幕实例方法
Jan 26 #Python
python 实现的车牌识别项目
Jan 25 #Python
Python实现给PDF添加水印的方法
Jan 25 #Python
2021年值得向Python开发者推荐的VS Code扩展插件
Jan 25 #Python
numba提升python运行速度的实例方法
Jan 25 #Python
You might like
弄了个检测传输的参数是否为数字的Function
2006/12/06 PHP
php实现自动获取生成文章主题关键词功能的深入分析
2013/06/03 PHP
浅析php变量修饰符static的使用
2013/06/28 PHP
PHP根据传入参数合并多个JS和CSS文件的简单实现
2014/06/13 PHP
摘自织梦CMS中的图片处理类
2015/08/08 PHP
PHP中header函数的用法及其注意事项详解
2016/06/13 PHP
PHP经典算法集锦【经典收藏】
2016/09/14 PHP
在php的yii2框架中整合hbase库的方法
2018/09/20 PHP
thinkphp5 框架结合plupload实现图片批量上传功能示例
2020/04/04 PHP
PHP网站常见安全漏洞,及相应防范措施总结
2021/03/01 PHP
jsTree树控件(基于jQuery, 超强悍)[推荐]
2009/09/01 Javascript
jQuery移动和复制dom节点实用DOM操作案例
2012/12/17 Javascript
通过上下左右键和回车键切换光标实现代码
2013/03/08 Javascript
jquery ajax,ashx,json的用法总结
2014/02/12 Javascript
Jquery树插件zTree用法入门教程
2015/02/17 Javascript
浅谈jQuery构造函数分析
2015/05/11 Javascript
详解JavaScript的流程控制语句
2015/11/30 Javascript
javascript实现checkbox复选框实例代码
2016/01/10 Javascript
jQuery实现标签页效果实战(4)
2017/02/08 Javascript
js实现自定义进度条效果
2017/03/15 Javascript
Scala解析Json字符串的实例详解
2017/10/11 Javascript
使用JS中的Replace()方法遇到的问题小结
2017/10/20 Javascript
从vue源码解析Vue.set()和this.$set()
2018/08/30 Javascript
微信小程序实现通过js操作wxml的wxss属性示例
2018/12/06 Javascript
浅谈laytpl 模板空值显示null的解决方法及简单的js表达式
2019/09/19 Javascript
JavaScript实现点击切换验证码及校验
2021/01/10 Javascript
Python的Flask框架及Nginx实现静态文件访问限制功能
2016/06/27 Python
Python 调用PIL库失败的解决方法
2019/01/08 Python
Python关于__name__属性的含义和作用详解
2020/02/19 Python
html5拖拽应用记录及注意点
2020/05/27 HTML / CSS
中国网上药店领导者:1药网
2017/02/16 全球购物
医师定期考核实施方案
2014/05/07 职场文书
大学奖学金获奖感言
2014/08/15 职场文书
学校师德师风整改措施
2014/10/27 职场文书
个人工作年终总结
2015/03/09 职场文书
据Python爬虫不靠谱预测可知今年双十一销售额将超过6000亿元
2021/11/11 Python