1

我通过 Selenium+Ghostdriver 通过 Python 使用 PhantomJS。

我希望同时加载多个页面,为此,我正在寻找一种异步方法来加载页面。

根据我的研究,PhantomJS 已经存在于一个单独的线程中并支持多个选项卡,所以我认为唯一缺少的部分是一种以非阻塞方式加载页面的方法。

任何解决方案都会受到欢迎,无论是我忽略的简单 Ghostdriver 方法,绕过 Ghostdriver 并直接与 PhantomJS 或其他无头浏览器交互。

感谢您的帮助和建议。

尤瓦尔

4

2 回答 2

2

如果你想绕过 ghostdriver,那么你可以直接用 JavaScript 或 CoffeeScript 编写你的 PhantomJS 脚本。据我所知,除了使用您选择的语言(python)中的不同线程外,没有办法使用 selenium webdriver 执行此操作。

如果您对它不满意,CasperJS 在编写脚本方面比使用 selenium 更自由,但您只能使用 PhantomJS 或 SlimerJS。

于 2015-02-04T11:02:15.287 回答
0

我不完全确定如何通过 Selenium/Ghostdriver 执行此操作,但如果您(或未来的读者)能够直接接触幻影脚本,那么解决方案很简单:

page.open(newUrl, ...);

“page.open()”方法默认是异步的,应该可以满足你的需要。- 自从您提出这个问题以来已经过去了很长时间,所以不确定您是否需要帮助。但是,再次,对于那些以后可能会阅读本文的人,我希望这会有所帮助!

于 2016-11-23T17:03:01.320 回答