Python下selenium的get()方法大量时间超时报错TimeOut

版权声明:本文为博主原创文章,转载请注明出处。谢谢。 https://blog.csdn.net/qq_38431572/article/details/83239183

遇见的问题:python使用selenium时碰见了加载超时时,后续网页全部报加载超时的错误

解决办法:一旦超时出错后,重启浏览器,再继续跑,就没问题了。

        昨天晚上跑了一个selenium的代码,好多个url,然后获取get到网页后截图保存到本地,使用nohup守护进程运行,同时开了五个程序一起爬,一边梦想着第二天早上的丰收成果。

        第二天早上一看,只有二百多张图片,直接整个人都蒙了,为什么?

        然后查看自己的log文件以及errlog文件,发现了大量的无法访问,是不是昨天晚上断网了所以才无法访问的?

        接下来自己开始前台测试一个,看着结果,然后过了几分钟后,忽然开始大量的无法访问,追根溯源发现有一个url真的是无妨访问,但是剩下的都是可以访问的,代码如下:

        很郁闷的一件事情,不知道如果超时了重启浏览器行不行,然后把代码改成了这个:

        然后再次运行,发现,好像,真的没问题了,特此记录,用作和大家的交流经验,希望大家不会遇见这个BUG。

----------------------------------------------------------------------------分割线2018年10月22日更新--------------------------------------------------------

        还是自己太年轻,上面的方法,是错误的,浏览器异常自己一旦退出,Python就会把这个变量清楚了,就算声明了全局的变量brower也不是同一个变量了,所以上面是错误的,下面自己用面向对象的类方法重构了一下代码。

        上图的代码中还Import了一个singnal的模块,因为selenium的PhantomJS()的quit方法好像有BUG,虽然程序中quit了这个浏览器,但是还需要发送一个信号,语句是这一个:

self.brower.service.process.send_signal(signal.SIGTERM)

        注意替换变量,谢谢阅读

猜你喜欢

转载自blog.csdn.net/qq_38431572/article/details/83239183