我想知道如何打开浏览器到特定网页,然后填写该页面上的一些框内容。
我的想法是让某人能够从我们的内部订购系统订购特定商品。这些项目的条形码将填充我想要打开的页面上的字段。
我不能打开一个新的实例,即使用Process.Start("IEXPLORE.EXE", url);
如何获得那个确切的实例窗口的句柄,以便我可以开始将所需的数据添加到字段中?
这甚至可能吗?
非常感谢
答案 0 :(得分:1)
WatiN应该对此有所帮助。我一般用它来进行网络应用程序的验收测试,但原理是一样的。打开浏览器实例,引用DOM中的内容,操作表单元素等。
答案 1 :(得分:1)
除了WatiN(如另一个答案中所建议的),您可以考虑使用Web Performance Load Tester之类的负载测试包。它们有一个免费版本,允许您一次最多运行10个虚拟用户,这将执行脚本操作。
另一种选择是使用标准的WebBrowser对象来加载您的网站。 WebBrowser对象允许您访问和更改某些Web部件。以下是自动搜索Bing的示例代码:
private void LoadPage()
{
WebBrowser webBrowser1 = new WebBrowser();
webBrowser1.Navigate("http://www.bing.com");
//Wait for document to load...
while (webBrowser1.ReadyState != WebBrowserReadyState.Complete)
{
Application.DoEvents();
}
//Set the text of the search input
HtmlElement txtTextField = webBrowser1.Document.GetElementById("sb_form_q");
txtTextField.InnerText = "My test text";
//Perform a click on the search button
HtmlElement btnSubmit = webBrowser1.Document.GetElementById("sb_form_go");
btnSubmit.InvokeMember("click");
}