웹 페이지에서 양식 채우기를 자동화하기위한 소프트웨어를 만들려고합니다. System.Windows.Forms
에서 WebBrowser 컨트롤을 사용하기로 결정했습니다. 위대한 작품과 DOM 통해 webbrowser.Document
등 조작 할 수 있습니다. 그러나 불행히도 내가 자동화하고있는 사이트에는 iframe 내부에서 실행되는 파일 업로드가 있습니다. 여기는 내가 멈추는 부분입니다. iframe의 DOM 내부에서 요소를 조작 할 수있는 방법을 간단하게 해결할 수 없습니다. 내가하고 싶은 이상적으로 어떤Windows Forms 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 browser.document 아래에 .Window가 없습니다. (라이브 객체 아래에서 체크 됨) 위 코드는 VB6에서 작동하지 않습니다. .frames [...]와 .frames (...) 사이에 차이가 있습니까 ?? 그래서 (또는 차이를 만들어라! ive는 아무 소용이 없어도 노력했다. –