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

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

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

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

如图示:cdn

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

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

相关文章
相关标签/搜索