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 07 Python
Python中函数的用法实例教程
Sep 08 Python
python 爬虫一键爬取 淘宝天猫宝贝页面主图颜色图和详情图的教程
May 22 Python
pandas.dataframe中根据条件获取元素所在的位置方法(索引)
Jun 07 Python
解决pycharm每次新建项目都要重新安装一些第三方库的问题
Jan 17 Python
python实现定时发送qq消息
Jan 18 Python
python try except返回异常的信息字符串代码实例
Aug 15 Python
Pytorch使用MNIST数据集实现CGAN和生成指定的数字方式
Jan 10 Python
python实现俄罗斯方块游戏(改进版)
Mar 13 Python
浅谈opencv自动光学检测、目标分割和检测(连通区域和findContours)
Jun 04 Python
Pytorch 如何加速Dataloader提升数据读取速度
May 28 Python
Django与数据库交互的实现
Jun 03 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之PHP语法学习笔记1
2006/12/17 PHP
利用ThinkPHP内置的ThinkAjax实现异步传输技术的实现方法
2011/12/19 PHP
Trying to clone an uncloneable object of class Imagic的解决方法
2012/01/11 PHP
PHP的Laravel框架结合MySQL与Redis数据库的使用部署
2016/03/21 PHP
php实现文章置顶功能的方法
2016/10/20 PHP
PHP XML和数组互相转换详解
2016/10/26 PHP
PHP依赖注入(DI)和控制反转(IoC)详解
2017/06/12 PHP
原生JS实现Ajax通过POST方式与PHP进行交互的方法示例
2018/05/12 PHP
javascript下利用arguments实现string.format函数
2010/08/24 Javascript
jQuery 定时局部刷新(setInterval)
2010/11/19 Javascript
JS中判断null、undefined与NaN的方法
2014/03/24 Javascript
javascript使用appendChild追加节点实例
2015/01/12 Javascript
JS+CSS实现可以凹陷显示选中单元格的方法
2015/03/02 Javascript
7个有用的jQuery代码片段分享
2015/05/19 Javascript
javascript动态获取登录时间和在线时长
2016/02/25 Javascript
JavaScript中定义对象原型的两种使用方法
2016/12/15 Javascript
JavaScript cookie详解及简单实例应用
2016/12/31 Javascript
JS实现加载时锁定HTML页面元素的方法
2017/06/24 Javascript
在Python中使用cookielib和urllib2配合PyQuery抓取网页信息
2015/04/25 Python
Python3计算三角形的面积代码
2017/12/18 Python
Python Numpy 数组的初始化和基本操作
2018/03/13 Python
解决Pycharm无法import自己安装的第三方module问题
2018/05/18 Python
Python中应该使用%还是format来格式化字符串
2018/09/25 Python
Python File(文件) 方法整理
2019/02/18 Python
Python字符串的常见操作实例小结
2019/04/08 Python
python判断一个对象是否可迭代的例子
2019/07/22 Python
Django中使用极验Geetest滑动验证码过程解析
2019/07/31 Python
关于django python manage.py startapp 应用名出错异常原因解析
2020/12/15 Python
详解CSS3的图层阴影和文字阴影效果使用
2016/06/09 HTML / CSS
浅析CSS3中鲜为人知的属性:-webkit-tap-highlight-color
2017/01/12 HTML / CSS
美国排名第一的葡萄酒俱乐部:Firstleaf Wine Club
2020/01/02 全球购物
个人贷款担保书
2014/04/01 职场文书
检举信的格式及范文
2014/04/04 职场文书
公安派出所所长四风问题个人对照检查材料
2014/10/04 职场文书
CSS 实现多彩、智能的阴影效果
2021/05/12 HTML / CSS
2007年老电脑安装win11会怎么样? 网友实测win11在老电脑运行良好
2021/11/21 数码科技