如果这不是发布此内容的正确位置,请道歉。
我正在使用一个脚本从新闻网站中截取异步加载的内容,并且遇到我在我的开发机器上运行的phantomJS版本(使用python上的selenium)(带有El Capitan的mac)的情况比我在ubuntu 14.04 LTS服务器上运行的版本更高的成功率。尽管我使用完全相同版本的Python(3.6.0),Selenium库用于python(3.4.0),ghostdriver(1.2.0,但我相信这正是Selenium所带来的)和PhantomJS(2.1) 0.1)。
我在两个地方运行PhantomJS,有以下选项:
--ignore-ssl-errors=true', '--debug=true', '--load-images=false'
我通常遇到驱动程序获取页面但无法找到目标内容的问题,因为它可能没有让页面足够长以加载所有内容。如果我在driver.get()
之间添加一个基本的睡眠,当我用漂亮的汤(同样的版本 - 4.5.3)解析页面时,它解决了mac环境中的问题。虽然在ubuntu环境中,无论它睡多久,它似乎都没有加载所有异步内容,然后往往无法抓取这些页面。
我会说在mac环境中,它正在获得接近100%的内容,而在ubuntu环境中,它只能保持大约50%的一致性。所以它正在发挥作用,而不是那么可靠。
有没有理由说明完全相同版本的PhantomJS执行得更不一致哪里真正唯一的区别是它们运行的操作系统?有没有一个很好的方法来弄清楚为什么phantomjs失败了? ghostdriver登录调试模式似乎并没有告诉我有关此问题的任何有用信息。