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中字符串对齐方法介绍
May 21 Python
深入浅析ImageMagick命令执行漏洞
Oct 11 Python
Python 内置函数complex详解
Oct 23 Python
Python实现将doc转化pdf格式文档的方法
Jan 19 Python
python实现大转盘抽奖效果
Jan 22 Python
python交互界面的退出方法
Feb 16 Python
对Python中一维向量和一维向量转置相乘的方法详解
Aug 26 Python
python二维键值数组生成转json的例子
Dec 06 Python
YUV转为jpg图像的实现
Dec 09 Python
Python PyInstaller库基本使用方法分析
Dec 12 Python
Python进程Multiprocessing模块原理解析
Feb 28 Python
Python 制作查询商品历史价格的小工具
Oct 20 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 CURL模拟GET及POST函数代码
2010/04/25 PHP
php文件压缩之PHPZip类用法实例
2015/06/18 PHP
php 数组字符串搜索array_search技巧
2016/07/05 PHP
PHP的new static和new self的区别与使用
2019/11/27 PHP
js操作时间(年-月-日 时-分-秒 星期几)
2010/06/20 Javascript
Jjcarousellite 实现图片列表滚动的简单实例
2013/11/29 Javascript
Javascript中的包装类型介绍
2015/04/02 Javascript
javascript实现将文件保存到本地方法汇总
2015/07/26 Javascript
javaScript知识点总结(必看篇)
2016/06/10 Javascript
JS基于onclick事件实现单个按钮的编辑与保存功能示例
2017/02/13 Javascript
js 单引号替换成双引号,双引号替换成单引号的实现方法
2017/02/16 Javascript
详解Vue.js Mixins 混入使用
2017/09/15 Javascript
Angular 利用路由跳转到指定页面的指定位置方法
2018/08/31 Javascript
Node.js 获取微信JS-SDK CONFIG的方法示例
2019/05/21 Javascript
JS使用正则表达式判断输入框失去焦点事件
2019/10/16 Javascript
JS实现横向轮播图(初级版)
2020/06/24 Javascript
[02:16]深扒TI7聊天轮盘语音出处2
2017/05/11 DOTA
使用python检测手机QQ在线状态的脚本代码
2013/02/10 Python
DJANGO-ALLAUTH社交用户系统的安装配置
2014/11/18 Python
Python使用 Beanstalkd 做异步任务处理的方法
2018/04/24 Python
解决pycharm运行时interpreter为空的问题
2018/10/29 Python
Python实现微信自动好友验证,自动回复,发送群聊链接方法
2019/02/21 Python
python matplotlib画图库学习绘制常用的图
2019/03/19 Python
python实现美团订单推送到测试环境,提供便利操作示例
2019/08/09 Python
Python装饰器如何实现修复过程解析
2020/09/05 Python
python中scipy.stats产生随机数实例讲解
2021/02/19 Python
马来西亚最热门的在线时尚商店:FashionValet
2018/11/11 全球购物
碧欧泉法国官网:Biotherm法国
2019/10/23 全球购物
销售主管竞聘书
2014/03/31 职场文书
工作时间擅自离岗检讨书
2014/10/24 职场文书
乒乓球比赛通知
2015/04/27 职场文书
入党积极分子半年考察意见
2015/06/02 职场文书
妇产科护理心得体会
2016/01/22 职场文书
初二英语教学反思
2016/02/15 职场文书
详解Mysql 函数调用优化
2021/04/07 MySQL
MySQL添加索引特点及优化问题
2022/07/23 MySQL