我有一个商业网络应用程序,需要从其他各种网站中提取信息。对于大多数站点,用户只是指示服务器提取数据(使用 .NET 的 HttpRequest 或 Selenium)。
但是对于一些不友好、大量使用 Javascript 的网站,我们的用户必须手动访问该网站,导航到正确的位置,然后复制并粘贴到我们的应用程序中。
除了小书签之外,我们的页面还有什么方法可以显示加载了源网站的 IFRAME,允许用户在框架内导航,然后捕获 IFRAME 的正文?
由于 IFRAME 中的站点不在同一个域中(甚至不接近),我似乎无法解决浏览器跨站点脚本限制。我尝试过使用 HTML5 的“沙盒”功能,但它似乎只允许从 IFRAME 到主机站点的另一种方式进行通信(通过“allow-same-origin”),这对我没有用。此外,如果有问题的站点尝试将其框架加载到顶部上下文,它也不起作用。
我理想中寻找的是一种解决方案,它允许将浏览器配置为隐式信任我的网站(它是一个 Intranet 应用程序)并允许它访问任何框架的内容。这至少会让我进入球场。如果我可以让 iframe 将“顶部”上下文重新定义为它自己的框架,那么奖励积分,因此托管站点在框架内正常运行。