使用Selenium Driver + PhantomJS注入JavaScript脚本并在Python中正确处理重定向

时间:2015-07-03 03:55:03

标签: javascript python selenium phantomjs

我的问题是:

我正在开发一个连接到URL的Python脚本,并使用我设法注入Javascript文件的selenium驱动程序,在此文件执行后重定向当前页面。这一切都是使用selenium来处理Firefox:

driver = webdriver.Firefox();

,但是当我尝试使用PhantomJS作为浏览器时,因为它没有任何图形界面:

driver = webdriver.PhantomJS();

我无法正确处理回复。如果驱动程序没有正确地注入脚本或者它是否是响应处理问题,仍然没有发现。如果有人有任何想法,那么听到它会很棒。

1 个答案:

答案 0 :(得分:2)

我在另一个问题上发布了这个问题,但我认为这会有所帮助:

在我自己处理同样的困境后,我可以全心全意地推荐将您喜欢的Selenium webkit(我的是Chrome)与XVFB结合使用。

XVFB允许你不留心地运行像Firefox,Chrome等浏览器,这基本上消除了使用PhantomJS所带来的所有烦恼。虽然它绝对是一个很棒的部分,但它的内部工作往往会有不同的交互(例如我遇到了一些问题,因为无法将TAB从一个元素转移到另一个元素,就像在任何浏览器中一样)。如果你正在使用Jenkins,那么有一个令人难以置信的真棒插件,只需点击一下按钮即可。否则,我绝对建议您检查this

幽灵是一个真正痛苦的屁股,所以它绝对值得规避它:)

希望这有帮助!