所以也许我是多疑了。
我正在为一个使用PhantomJS的爱好项目在Facebook上划时间线。基本上,我编写了一个程序,通过在幻影的Sponsored块中查询文本Sponsored来查找我的所有广告。文本被显示为html a元素的a。
几天来,一切都很顺利,它发现了大量的广告。
然后它停止返回任何结果。
当我再次手动登录Facebook检查元素时,我发现Sponsored这个词现在出现在带有css属性content: sponsored的::after伪类元素中。这意味着对文本的XPATH查询不再产生任何结果。不是开玩笑,Facebook似乎改变了他们在被刮了几天后把这个词写成这样的方式。
妄想症。我早告诉过你了。
因此,我向Javascript、Web和PhantomJS开发人员提供这个问题。到底是怎么回事。Facebook能知道我的PhantomJS程序在page.evaluate块内做什么吗?
如果是这样的话,是怎么做的?例如,我的幻影命令会出现在嵌入在页面中的密钥记录器程序中吗?
你的一些理论是什么?
发布于 2017-12-08 05:43:21
即使用户代理被欺骗,也完全有可能检测到PhantomJS。它与其他浏览器有很多不同之处,其中包括:
window.callPhantom还有很多其他人。
有关详细信息,请参阅此处链接的这篇优秀文章和演示文稿:https://blog.shapesecurity.com/2015/01/22/detecting-phantomjs-based-visitors/
也许木偶师会更适合你的需求,因为它是基于一个真正的尖端浏览器。
https://stackoverflow.com/questions/47708260
复制相似问题