C# 如何将文本输入web浏览并单击c中的图像

C# 如何将文本输入web浏览并单击c中的图像,c#,webbrowser-control,C#,Webbrowser Control,我对web浏览器和c有一些问题 我像这样打开web浏览器: Process browser = new Process(); ProcessStartInfo object1 = new ProcessStartInfo("IExplore.exe", "http://www.mediabanken.se/Site/Start.aspx") browser.StartInfo = object1; browser.Star

我对web浏览器和c有一些问题

我像这样打开web浏览器:

 Process browser = new Process();
            ProcessStartInfo object1 = new ProcessStartInfo("IExplore.exe", "http://www.mediabanken.se/Site/Start.aspx")
            browser.StartInfo = object1;
            browser.Start();
public Form1()
{
    InitializeComponent();
    buttonSearch.Click += buttonSearch_Click;
}

private void buttonSearch_Click(object sender, EventArgs e)
{
    webBrowser1.DocumentCompleted += WebBrowser1_DocumentCompleted;
    string url = "http://www.mediabanken.se/Site/Start.aspx";
    webBrowser1.Navigate(url);
}

private void WebBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
    // Check the search results are shown 
    string className = "ProductImageControl_Image";
    // Get all "img" elements
    HtmlElementCollection images = webBrowser1.Document.GetElementsByTagName("img");
    // Select the image with "ProductImageControl_Image" class
    HtmlElement image = images.Cast<HtmlElement>().FirstOrDefault(i => i.GetAttribute("className") == className);
    if (image != null)  // result image has been shown
    {
        // Click the image
        image.InvokeMember("click");
        // Unregister handler
        this.webBrowser1.DocumentCompleted -= WebBrowser1_DocumentCompleted;
    }
    else
    {
        // Get all input elements
        HtmlElementCollection inputs = webBrowser1.Document.GetElementsByTagName("input");
        // Select "txtSearch" input
        HtmlElement input = inputs["txtSearch"];
        if (input != null)
        {
            string value = input.GetAttribute("VALUE");
            if (!string.IsNullOrEmpty(value))
            {
                // Already searched but no results
            }
            else
            {
                // Input search text
                string searchText = textBoxSearch.Text;
                input.SetAttribute("VALUE", searchText);
                SendKeys.Send("{ENTER}");
            }
        }
    }
}
我不知道如何在搜索字段中插入文本

插入文本后,我必须获得以下内容:

如何点击图片

如果希望以编程方式控制C中的网页元素,我建议使用WindSystem.Windows.Forms.WebBrowser控件

例如,我的表单应用程序是这样的。它有WebBrowser、按钮和文本框控件

和源代码来归档您的问题,如下所示:

 Process browser = new Process();
            ProcessStartInfo object1 = new ProcessStartInfo("IExplore.exe", "http://www.mediabanken.se/Site/Start.aspx")
            browser.StartInfo = object1;
            browser.Start();
public Form1()
{
    InitializeComponent();
    buttonSearch.Click += buttonSearch_Click;
}

private void buttonSearch_Click(object sender, EventArgs e)
{
    webBrowser1.DocumentCompleted += WebBrowser1_DocumentCompleted;
    string url = "http://www.mediabanken.se/Site/Start.aspx";
    webBrowser1.Navigate(url);
}

private void WebBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
    // Check the search results are shown 
    string className = "ProductImageControl_Image";
    // Get all "img" elements
    HtmlElementCollection images = webBrowser1.Document.GetElementsByTagName("img");
    // Select the image with "ProductImageControl_Image" class
    HtmlElement image = images.Cast<HtmlElement>().FirstOrDefault(i => i.GetAttribute("className") == className);
    if (image != null)  // result image has been shown
    {
        // Click the image
        image.InvokeMember("click");
        // Unregister handler
        this.webBrowser1.DocumentCompleted -= WebBrowser1_DocumentCompleted;
    }
    else
    {
        // Get all input elements
        HtmlElementCollection inputs = webBrowser1.Document.GetElementsByTagName("input");
        // Select "txtSearch" input
        HtmlElement input = inputs["txtSearch"];
        if (input != null)
        {
            string value = input.GetAttribute("VALUE");
            if (!string.IsNullOrEmpty(value))
            {
                // Already searched but no results
            }
            else
            {
                // Input search text
                string searchText = textBoxSearch.Text;
                input.SetAttribute("VALUE", searchText);
                SendKeys.Send("{ENTER}");
            }
        }
    }
}

在执行此操作之前,您可能必须登录到位于的网站。

您希望如何获得搜索结果?可以在浏览器上显示吗?在搜索字段中插入文本后,我按c中的ENTER键,结果就会显示出来,但我不知道如何按正在显示的图像。