Selenium 2.38.2 和 PhantomJS 1.9.2 一起使用的一个Bug

首先说明,这个Bug已经在这两天发布的Selenium 2.38.4版本中被修复了,如果使用的2.38.1、2.38.2等版本的Selenium,则依然会遇到。
这个Bug,在确定原因之前,折磨了我一两天时间;所以还是记录一下。

描述:在python 2.7环境中,使用Selenium 2.38.2 和 PhantomJS 1.9.2 写一个简单的打开某个网页的脚本,如我前面一篇文章中讲的那样:(使用Selenium和PhantomJS解析带JS的网页),就会遇到Bug,根本就不能打开网页。返回的错误信息为“httplib.BadStatusLine: ””或“socket.error: [Errno 54] Connection reset by peer”。 PS:我发现在Python 2.6环境中,同样的Selenium 2.38.2 和 PhantomJS 1.9.2 却一般不会遇到这个问题(这个问题没深究了)。

具体的描述和讨论,见Selenium项目主页上的这个issue: http://code.google.com/p/selenium/issues/detail?id=6690
具体Fix这个bug的代码在:https://github.com/SeleniumHQ/selenium/commit/a1df581908b7a0165dd232151647a23b5d6b4800

解决方案:(很简单 ^_^)
1. 回退Selenium版本到2.37.2;

2. 升级Selenium版本到2.38.4.


可能遇到的报错信息如下:

也偶尔是这样的报错信息:

master

Stay hungry, stay foolish.

2 Comments

发表评论

电子邮件地址不会被公开。 必填项已用*标注