复制预览JavaScript错误

复制预览JavaScript错误,javascript,web-crawler,bing,bots,Javascript,Web Crawler,Bing,Bots,我有一个网站,可以访问BingPreview/1.0b*,它很可能是Bing的机器人 我得到一个错误,看起来它找不到我非常确定应该存在的DOM元素。我没有从任何其他浏览器(在所有主要浏览器中测试)或机器人程序(尽管没有错误并不一定证明什么)中得到错误 我最可能的解释是,它在文档完全加载之前执行JavaScript,但我不知道如何重现BingPreview机器人访问 如何重现预览访问/JavaScript错误? *完整的UA字符串是:Mozilla/5.0(Windows NT 6.1;WOW64

我有一个网站,可以访问BingPreview/1.0b*,它很可能是Bing的机器人

我得到一个错误,看起来它找不到我非常确定应该存在的DOM元素。我没有从任何其他浏览器(在所有主要浏览器中测试)或机器人程序(尽管没有错误并不一定证明什么)中得到错误

我最可能的解释是,它在文档完全加载之前执行JavaScript,但我不知道如何重现BingPreview机器人访问

如何重现预览访问/JavaScript错误?

*完整的UA字符串是:
Mozilla/5.0(Windows NT 6.1;WOW64)AppleWebKit/534+(KHTML,如Gecko)BingPreview/1.0b


注意:这次访问发生在3天前,我能找到的关于BingPreview的所有信息似乎都不再公开了(死链接等)

首先,正如你所推测的,用户代理是Bing的某种机器人。有一些问题表明微软已经在为他们的搜索结果测试某种页面预览,类似于谷歌的

因为最有可能导致错误的是他们对bot(bot的javascript引擎)的测试和实现,所以您也很可能无法复制它

你肯定能做的是在Chrome中将你的用户代理字符串设置为Bing机器人UA,看看是否发生了什么事情,因为这样你就拥有了相同的用户代理,从UA上看,是相同的引擎(Webkit)。最有可能的是,什么也不会发生,因为如果有什么不对劲,那就是他们在你的网站上进行秘密测试

编辑

在webmasterworld上也有,这表明这实际上是某种预览功能,在bing结果页面上也可以看到,但是随机的。我不能确认,Bing对我来说看起来和以前一样,没有预览

第二次编辑


而微软自己似乎也不

感谢您的检查。我尝试在Chrome中切换UserAgent字符串,但没有效果。您是否有任何依赖css属性的内联javascript或javascript(例如,您是否仅在该元素可见时才选择它?)。我唯一能想象的是bing机器人要么只执行非结构化javascript,要么视口有问题。你可以试着改变这一点。除此之外,我无法想象如何重现这次访问。我也尝试过用BingUA字符串运行IE9,但这不会带来任何问题。IE7和IE8刚刚断开。我想尝试IE10,但它目前锁定为Win8。-我得到的错误看起来好像找不到DOM元素,我不知道是哪一个,因为我没有得到正确的堆栈跟踪,但所有这些元素都应该始终存在(即,它在所有其他浏览器中都有效)。谢谢你的努力,但我还是被卡住了。确切的错误是
文档。getElementById(“XYZ”)
返回
null
,这是在我的框架中进行检查的。看起来你对此无能为力,这可能是因为Bing预览机器人如何删除页面/在页面上执行javascript。除非您插入的元素是您试图在早期阶段异步获取的元素(这可能不是由bot完成的)。但是,如果它是在服务器提供的原始html中,则无法找到答案,这主要是因为没有关于呈现引擎、刮片技术和机器人的javascript执行的可靠信息。