iframeを使用して別のhtmlページと見なすことができる子フォームを埋め込むWebフォームを自動化する必要があります。iframe内の子オブジェクトのインスタンスを取得
したがって、iframeであるビューフィールドと呼ばれるものを含む親ドキュメントを取得します。 iframeの中には、「子の」埋め込みWebページがあります。
簡単な例:私はhtmlのオフ多くをカットしている
は、次に適切なサイズ
<html>
<body>
<div id="123" arid=123 artype="View" ardbn="vfMyChild"
class="arfid123 ardbnvfMyChild"
STYLE="top:49 left:75 width:1038 height:322" arvfframe="<iframe style="top:0 left:0 width:1038; height:322" name="VF123" title="View Field" src="javascript:&quot;&lt;HTML&gt;&lt;/HTML&gt;&quot;" >
</iframe>">
</div>
</body>
</html>
に組み込み、それを減らすために子HTMLはこのようにシンプルになります:
<html>
<body>
<div id="321" arid=321 artype="Char" ardbn="txtRegister">
<label id="label321" class="label f6">Register:</label>
<textarea id="arid_321" cols="20" maxlen=255 rows=1></textarea>
</div>
</body>
</html>
STYLE =に含まれるhtmlはちょっと奇妙に見えます。しかし、私はそれがiframeのようなものであることがわかります。
トップレベルのドキュメントオブジェクトのインスタンスがあり、id = 123のdivのインスタンスがあります。私は子のtextareaオブジェクトを自動化する必要があります。私は動作しなかった以下を試しました。
var viewfields; //is a ref to the div with id=123
if(viewfields) {
window.alert("viewfields.length=" + viewfields.length); //prints len=1 as expected
// line below get Caught exception: Unable to get value of the
// property 'document': object is null or undefined
var innerDoc = viewfields[0].contentDocument || viewfields[0].contentWindow.document;
if(innerDoc) {
window.alert("Wohoo we have an innerDoc");
}
} else
window.alert("no view fields found");
これはIE9を使用してテストしています。
このhtmlで内側のWebページのインスタンスを取得できますか?もしそうなら、どうですか?
EDIT
それが助け場合は、ここで問題になっているdiv要素の実際の、未編集のHTMLです。
<div id="WIN_0_536870915" arid=536870915 artype="View" ardbn="vfCubaChildren" class="arfid536870915 ardbnvfCubaChildren" STYLE="top:49; left:75; width:1038; height:322;z-index:1001;background-color:transparent;" arvfframe="<iframe style="top:0&#59; left:0&#59; width:1038&#59; height:322&#59;background-color: transparent&#59;" name="VF536870915" frameborder=1 scrolling="auto" allowtransparency="true" title="View Field" src="javascript:&quot;&lt;HTML&gt;&lt;/HTML&gt; ;&quot;" onload="DVFol&#40;&#41;">
</iframe>">
</div>
このdivは子フォームを保持します。子フォームは別のHTML Webページと似ています。それは、標準的なHTML入力フィールドとテキストエリアを持っています。私は子供のテキストエリアにテキストを投稿する必要があります(親から)。しかし、問題は私がまだ親から子HTMLオブジェクトにアクセスすることができないことです。
は、私はおそらくあなたが作業しているものを認識しません。 'arid'、' artype'、 'ardbn'、' arvfframe'要素属性は何が指定されていますか? – Jesse
視界は 'iframe'の' div'だと思ったのですが、配列のように扱っていますか?また、コードに影響を与えるべきではありませんが、いくつかの属性については引用符がありません。 –
@ Jesse aridなどは、Webアプリケーションで使用されるカスタム属性です。それが役に立つなら、WebアプリはBMC Remedyです。 –