本地网站环境:Apache、php 和 dojo 工具包。如果您更熟悉 jquery 而不是 dojo,请随意假设。
远程网站环境:dojo工具包(服务器软件无关,我无法控制它)。
我有一个我可以完全控制的网页(本地网站)。
在这个页面上,我有一个 iframe,其中包含一个我想对其进行自动化测试的网页。我想通过单击按钮/链接并使用 dojo 填写表单字段来自动操作元素。
我一直在阅读,在跨不同域的 iframe 中有一定程度的保护来防止操作页面。这是否意味着无法在根页面上使用 javascript 来操作 iframe 内的元素?我还了解到我可以使用代理来解决这个问题。
我怎样才能做到这一点?
由于工作场所的限制,我无法安装浏览器自动化工具,例如 selenium、watir/watij 或其他工具。
提前致谢!
研究:
这可能是避免跨域限制的正确轨道:http://www.ghidinelli.com/2008/12/27/how-to-bypass-cross-domain-restrictions-when-developing-ajax-applications
最佳答案
解决方案:
设置代理:
- 打开 Apache 的 httpd.conf,并附加以下内容:
通过以下方式启用代理模块:
LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_http_module modules/mod_proxy_http.so
编写代理规则:
ProxyPass /localpath/ http://remote/path/
使用 DOH:http://dojotoolkit.org/reference-guide/1.9/util/doh.html
关于javascript - 使用 javascript(dojo 或 jquery)在 iframe 中进行 Web 自动化 - 单击 iframe 中的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8993589/