python爬虫获取元素的属性值_Python爬虫,登陆神器Selenium--iframe切换,属性获取...

fa192d7beae746a13c6bac9462bfd570.png

本文介绍如何利用Selenium中方法,在不同iframe中切换,和如何通过Selenium获取页面元素的某一个属性。

切换iframe

问题:有时候我们发现元素定位没问题,在测试回放的过程,发现就是找不到元素报错。

由于没有找到合适的iframe网站,这里不好用代码举例,简单文字加图片来介绍。

自己写了一个网页,利用iframe网页框架,把网页分成上下两个不同iframe控制的页面,把下面html代码保存到一个记事本,然后修改名称为iframe-demo.html

9e73fcabe3db056df727866e685eab2d.png

用本地浏览器打开如下图:

7f7993e393ebfbb4d9b7ec6e05d5909b.png
471c9c7cb5b0f7c3e5253e17bf369643.png

用firepath来获得百度文本输入框的XPath截图

af0f957845b422b1c5bf6140bf702dc7.png
587ce04cdb652a2fc94b29ab6a8243da.png

看到了红圈位置不是显示Top Window,说明你要定位的目标元素在一个iframe里,如果要操作这个元素,首先需要从默认的Top Window,利用switch_to.frame('iframeid')方法来切换到具体的iframe,然后才能去操作目标元素。

正常百度页面,文本输入框截图

方法介绍:

9ed5a1194f0f5b676cf8d5cc576dc0f4.png

获取属性

一个元素可能有多个属性,例如 class, id, name, text, href, vale等等。这里我们举例一个爬虫中经常需要处理的链接问题:找出当前页面所有的超链接。

已百度首页为例,打印所有包含href的元素的链接。

相关脚本代码如下:

b0bc1be334c0c26f9d4f03d8dcd63c3d.png

这里只是找元素的href属性,如果你需要其它属性,例如你需要查看页面所有元素具有id值的话,你可以这样写

0cb0bb8feb3680e643a1dc87049be0a2.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值