按钮在Web浏览器中单击
我已经创建了Web浏览器,现在我想通过单击表单上的button1单击Web上的按钮。
private void button1_Click(object sender, EventArgs e) { webBrowser1.Document.GetElementById("search").SetAttribute("value", IP.Text); webBrowser1.Document.GetElementById("").InvokeMember("click"); }
但我无法从此字符串中获取按钮ID
有没有办法解决这个问题?
尝试迭代网页中的所有元素。 当您找到具有所需值的值时,可以单击该元素。
foreach (HtmlElement el in webBrowser1.Document.GetElementsByTagName("input") { if (el.GetAttribute("value").Equals("→")) { el.InvokeMember("click"); } }
该网站不会阻止向其发布表单。 所以你总是可以用指向它的表单创建自己的网页。
HTML
C#
private void button1_Click(object sender, EventArgs e) { webBrowser1.DocumentText = "[The HTML from above here]"; webBrowser1.Document.GetElementById("domain").SetAttribute("value", IP.Text); webBrowser1.Document.GetElementById("submit").InvokeMember("click"); }
如果您打算抓取WHOIS信息。 您必须确保不违反条款和条件。 大多数WHOIS服务不允许自动检查。
如果他们这样做,那就是你想要做的事情,那么你应该考虑使用HttpWebRequest,它会更有效率。 请参阅此处有关如何使用http://swhobby.blogspot.co.uk/2010/03/c-example-of-http-post.html的示例