PhantomJS-在page.open()上设置时间限制?还是变通办法?

PhantomJS-在page.open()上设置时间限制?还是变通办法?,phantomjs,Phantomjs,使用PhantomJS和bash,我正在开发一个小的反恶意软件,它读取一个网页,抓取所有向浏览器交付资产的域,然后打印每个服务器的原产国。它工作良好,除了一个网站有一个。。。嗯…'每5秒调用一个外部服务器的“次优”javascript。PhantomJS只是一遍又一遍地加载资源,page.open()永远不会完成,page.onLoadFinished()永远不会被调用 有办法解决这个问题吗?我可以在page.load()上设置时间限制吗?我想,作为一种解决办法,我可以对Linux进程设置一个时

使用PhantomJS和bash,我正在开发一个小的反恶意软件,它读取一个网页,抓取所有向浏览器交付资产的域,然后打印每个服务器的原产国。它工作良好,除了一个网站有一个。。。嗯…'每5秒调用一个外部服务器的“次优”javascript。PhantomJS只是一遍又一遍地加载资源,page.open()永远不会完成,page.onLoadFinished()永远不会被调用

有办法解决这个问题吗?我可以在page.load()上设置时间限制吗?我想,作为一种解决办法,我可以对Linux进程设置一个时间限制吗


提前感谢,如果有人对这个脚本的副本感兴趣,请告诉我,我会把它发布到公共的地方。

我使用这里给出的解决方案解决了这个问题,设置了phantomjs命令的执行时间限制,并在需要时杀死它


我使用这里给出的解决方案解决了这个问题,为phantomjs命令设置了执行时间限制,并在需要时将其杀死


我不知道在你的情况下是否会做任何事情,但值得一试。已经在使用它了,没有效果。你难道不能把
phantom.exit()
放在
setTimeout
中吗?天哪,这么简单,我从来没有想到过,让我试试。setTimeout“起作用”,因为它停止了执行,但它也导致PhantomJS因segfault而崩溃:(显然,这是PhantomJS的一个已知问题。老实说,我想我只是要用Selenium重写PhantomJS部分。我不知道在您的情况下是否会做任何事情,但值得一试。已经在使用它了,没有任何效果。您不能将
phantom.exit()
在一个
setTimeout
?天哪,这么简单,我从来没有想过,让我试试。setTimeout“有效”,因为它停止了执行,但它也导致PhantomJS因segfault崩溃:(显然这是PhantomJS的一个已知问题。老实说,我想我只是要用Selenium重写PhantomJS部分。