javascript - 使用 javascript(dojo 或 jquery)在 iframe 中进行 Web 自动化 - 单击 iframe 中的元素

标签 javascript browser iframe dojo automation

本地网站环境: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

最佳答案

解决方案:

  1. 设置代理:

    • 打开 Apache 的 httpd.conf,并附加以下内容:
    • 通过以下方式启用代理模块:

      LoadModule proxy_module modules/mod_proxy.so
      LoadModule proxy_http_module modules/mod_proxy_http.so
      
    • 编写代理规则:

      ProxyPass   /localpath/ http://remote/path/
      
  2. 使用 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/

相关文章:

javascript - 将 Javascript 日期解析为 C# DateTime,FF 数据不同于 Chrome 日期

javascript - 检测是否没有来自浏览器的系统事件(包括浏览器外的事件)

javascript - 使用 David Bradshaw 的 iFrameResize

asp.net - ASP.NET 主页面/详细信息页面示例,其中详细信息位于灯箱中?

javascript - 如何在 Angular.js 中获取我自己定义的服务的拦截器的响应?

php - JqG​​rid + 自动完成

c# - 在不触及注册表的情况下将页眉和页脚信息添加到 WebBrowser 的打印输出

javascript - MutationObserver 回调何时被触发?

facebook - Facebook Iframe 内媒体查询失败

Cordova ,内容安全策略 : within iframe getting error as deviceready has not fired after 5 seconds