我正在尝试编写一些基于Web的自动化。我正在点击的网站与我的自动化网站不在同一个域中,因此跨站点脚本问题使得无法访问目标网站上的DOM。
我不想使用代理或处理代理目标网站(例如Selenium)。跨平台是一件好事,但不是必须的。如果我被迫,我会去Windows。
我意识到我可以简单地编写一个运行WebBrowser控件的Windows程序和我自己的一组脚本,但我不希望我的用户必须从我的网页下载EXE,或者任何注册表覆盖以禁用跨域检查。它必须非常易于使用,无需额外的软件下载或任何其他内容。
我试着编写一个包含MS WebBrowser控件的ActiveX控件,所以我可以使用“浏览器在浏览器中”。这没用。我最终得到了winocc.cpp断言失败。
我还有其他选择吗? Java applet会起作用吗?我需要一个基于Java的浏览器..我是否需要使用JRex或Lobo?
必须有更好的方法。
答案 0 :(得分:0)
您可以使用服务器端语言使用屏幕抓取来获取外部页面。我已经使用PHP和C#.NET完成了这项工作,但您可以使用几乎任何服务器端语言来创建一个Web请求,从目标页面返回整个HTML块。
一旦你拥有了HTML,你可以用它做你想做的事情,因为它只是一个你将以某种方式操作然后在你的页面上写的字符串。