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 相关文章推荐
python3图片转换二进制存入mysql
Dec 06 Python
Using Django with GAE Python 后台抓取多个网站的页面全文
Feb 17 Python
浅析Python中return和finally共同挖的坑
Aug 18 Python
selenium使用chrome浏览器测试(附chromedriver与chrome的对应关系表)
Nov 29 Python
python实现字符串加密成纯数字
Mar 19 Python
详解Python:面向对象编程
Apr 10 Python
对Python强大的可变参数传递机制详解
Jun 13 Python
Python实现AI自动抠图实例解析
Mar 05 Python
Python3.9 beta2版本发布了,看看这7个新的PEP都是什么
Jun 10 Python
python删除文件、清空目录的实现方法
Sep 23 Python
如何利用python发送邮件
Sep 26 Python
python非标准时间的转换
Jul 25 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
PHP中使用array函数新建一个数组
2015/11/19 PHP
PHP编程中的__clone()方法使用详解
2015/11/27 PHP
php实现与python进行socket通信的方法示例
2017/08/30 PHP
PHP实现从PostgreSQL数据库检索数据分页显示及根据条件查找数据示例
2018/06/09 PHP
jQuery 相关控件的事件操作分解
2009/08/03 Javascript
jQuery使用数组编写图片无缝向左滚动
2012/12/11 Javascript
JS字符串处理实例代码
2013/08/05 Javascript
js 判断上传文件大小及格式代码
2013/11/13 Javascript
JS小功能(onmouseover实现选择月份)实例代码
2013/11/28 Javascript
js获取input长度并根据页面宽度设置其大小及居中对齐
2014/08/22 Javascript
js实现带农历和八字等信息的日历特效
2016/05/16 Javascript
jQuery的事件预绑定
2016/12/05 Javascript
详解为Angular.js内置$http服务添加拦截器的方法
2016/12/20 Javascript
Three.js获取鼠标点击的三维坐标示例代码
2017/03/24 Javascript
小发现之浅谈location.search与location.hash的问题
2017/06/23 Javascript
微信小程序自定义toast实现方法详解【附demo源码下载】
2017/11/28 Javascript
在vue中使用公共过滤器filter的方法
2018/06/26 Javascript
微信小程序之裁剪图片成圆形的实现代码
2018/10/11 Javascript
vue组件通信传值操作示例
2019/01/08 Javascript
vue 实现走马灯效果
2019/10/28 Javascript
element-ui tooltip修改背景颜色和箭头颜色的实现
2019/12/16 Javascript
Python实现Const详解
2015/01/27 Python
怎样使用Python脚本日志功能
2016/08/14 Python
python自动查询12306余票并发送邮箱提醒脚本
2018/05/21 Python
Python爬虫实现“盗取”微信好友信息的方法分析
2019/09/16 Python
python画图常规设置方式
2020/03/05 Python
Python模拟键盘输入自动登录TGP
2020/11/27 Python
中国旅游网站:同程旅游
2016/09/11 全球购物
Bandier官网:奢侈、时尚前卫的健身服装首选目的地
2020/07/05 全球购物
简历中个人求职的自我评价模板
2013/11/29 职场文书
医药代表个人的求职信分享
2013/12/08 职场文书
博士生求职信
2014/07/06 职场文书
119消防日活动总结
2014/08/29 职场文书
2015年三好一满意工作总结
2015/07/24 职场文书
MySQL如何构建数据表索引
2021/05/13 MySQL
Mysql数据库手动及定时备份步骤
2021/11/07 MySQL