Webページ上のフォームフィリングを多かれ少なかれ自動化するソフトウェアを作成しようとしていますが、System.Windows.Forms
でWebBrowserコントロールを使用することに決めました。これは素晴らしい作品で、DOMからwebbrowser.Document
まで簡単に操作できます。しかし残念なことに、私がオートメーションを行っているサイトには、iframeの内部で実行されるファイルアップロードがあります。これは私が立ち往生した場所で、iframeのDOM内の要素を操作する方法を考えることができません。WindowsフォームWebBrowserコントロールとiframe
理想的には私が何をしたいのですが何のようなものされています
HtmlElement iframe = browser.Document.GetElementById("iframe_id");
iframe.InnerDocument.GetElementById("file_upload_input").SetAttribute("value", "myfile.txt");
そしてもちろんのiframe内のフォームを送信する - しかし、私の知る限りHtmlElement
にはInnerDocument
属性が存在しない、また私が内部のDOMにアクセスできるように、私がHtmlElement
をキャストできることがわかったタイプはありません。
これはどのように行われますか?
私は忘れてしまったものでした。ただし、ここに書き留めたコードはjavascriptです.WebBrowserコントロールに必要なコードはiframe要素を取得するためのbrowser.Document.Window.Frames ["frame"]です。 – kastermester
@kastermesterブラウザのドキュメントの下に.Windowがありません(ライブオブジェクトの下にチェックされています)、上記のコードはVB6で動作しません。 .frames [...]と.frames(...)の間に違いがありますか?そういうわけで(あるいは、差をつけてみると、どちらも役に立たなかった。 –