C# 如何将文本输入web浏览并单击c中的图像
我对web浏览器和c有一些问题 我像这样打开web浏览器: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
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键,结果就会显示出来,但我不知道如何按正在显示的图像。