Web浏览器控件单击

时间:2011-12-13 09:19:21

标签: c# .net webbrowser-control

我在项目中使用Web浏览器控件,然后打开一个包含文件选择器对象的Web。 现在我想以编程方式注入此文件选择器对象中文件的路径。

我试图获取HtmlElement,但我没有在源代码中找到元素ID。

编辑:

在网络上有“浏览...”按钮,打开文件选择器,然后文件路径显示在小文本字段中,我想将文件路径注入文本字段。

1 个答案:

答案 0 :(得分:1)

首先。 为要更改其值的元素建立名称,ID或类。有很多方法可以做到这一点。我会使用firebug for firefox或IE开发人员工具栏,或者只查看页面的来源并确定该字段的名称/ ID。现在,如果该字段没有可以使用的名称或ID,则可以获取包含元素并遍历子元素n次,直到获得所需的元素。

对于我的嵌入式浏览器应用程序,我在c#中执行了以下操作: -

// webBrowser is the name of the embedded IE browser in your app
var htmlDocument = webBrowser.Document;
if(htmlDocment!=null)
{
    var field = htmlDocument.GetElementById("...the id...");
    if(field!=null)
    {
        field.SetAttribute("value","...yourfilenamepathonyourmachine...");
    }

    // Now you would need to establish the ID of the submit element and click that
    var submitButton = htmlDocument.GetElementById("...submit button...");
    if(submitButton!=null)
    {
        submitButton.InvokeMember("Click");
    }
   // your code to loop?
}

那么你有相关网页的HTML吗?这可能有所帮助,可以给出更好的答案

关心朱利安