爬虫学习日记(十)selenium frame的切换

旧的HDMU被block,换成官网重新写一个新的,换成官网以后可以发现整个爬虫的效率都变慢很多。毕竟是因为是模拟浏览器,浏览器打开官网要加载许多用不上的东西,就导致整个加载速度很慢,可以了解很多爬虫可能只是访问原先网站一个必要的iframe或则其他的,可以大大加速爬虫的效率。

在用selenium爬取官网中的信息时,在进行location定位的时候一直出现timeout的问题,可以确定的是xpath的定位是绝对没有错的。

后来发现是在selenium中,要定位frame中的元素的话,是要用方法跳转到frame中进行跳转才可以进行定位。

如图示:

要获取到1号frame中的元素,必须用WebDriver中的.driver.switchTo().frame(By location)进行切换,必须要注意的是,切换到frame中就只能对frame中的元素进行操作,如sendkey,click,进行wait判断时如果判断的是frame外的元素的话,也会报timeout的错误。

如果已经进到frame中,想要定位frame外的元素,要用this.driver.switchTo().parentFrame()切换到frame外。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值