我通过Selenium + Ghostdriver使用PhantomJS。
我希望同时加载多个页面并且这样做,我正在寻找一种异步方法来加载页面。
根据我的研究,PhantomJS已经存在于一个单独的线程中并且支持多个选项卡,所以我相信这个难题中唯一缺失的部分是以非阻塞方式加载页面的方法。
任何解决方案都是受欢迎的,无论是我忽略的简单Ghostdriver方法,绕过Ghostdriver并直接与PhantomJS或不同的无头浏览器连接。
感谢您的帮助和建议。
尤瓦
答案 0 :(得分:2)
如果您想绕过ghostdriver,那么您可以直接用JavaScript或CoffeeScript编写PhantomJS脚本。据我所知,除了你选择的语言(python)中的不同线程外,没有办法用selenium webdriver做这个。
如果您对此不满意,CasperJS在编写脚本方面比使用selenium更自由,但您只能使用PhantomJS或SlimerJS。
答案 1 :(得分:0)
我不完全确定如何通过Selenium / Ghostdriver专门做到这一点,但如果您(或未来的读者)能够直接触摸幻像脚本,那么解决方案就像:
page.open(newUrl, ...);
“page.open()”方法默认为异步,应该满足您的需求。 - 自从你提出这个问题以来已经过了一段时间,所以不确定你是否需要帮助。但是,对于那些稍后可能会阅读此内容的人,我希望这会有所帮助!