我正在编写使用WebClient凭据登录网站的代码,然后使用NameValueCollection填充一些数据字段,如下所示:
//getting details to log in
WebClient client = new WebClient();
client.UseDefaultCredentials = true;
client.Credentials = new NetworkCredential("Username", "Pas$word");
//Getting the details for the datafields
NameValueCollection values = new NameValueCollection();
values.Add("TextInput1", "Input here");
values.Add("TextInput2", "Input here");
values.Add("TextInput3", "Input here");
values.Add("TextInput4", "Input here");
//combobox doesnt work\/
values.Add("Combobox1", "Input here");
//combo doesnt work\/
values.Add("Combobox2", "Input here");
values.Add("TextInput5", "Input here");
values.Add("TextInput6", "Input here");
values.Add("Checkbox1", "checked");
//selectbox doesnt work\/
values.Add("IBCombobox31ACC", "Input here");
//Radio Buttons weird
values.Add("RadioButton1", "checked");
using (client)
{
byte[] result = client.UploadValues("https://www.websitename.com", "POST", values);
string ResultAuthTicket = Encoding.UTF8.GetString(result);
Console.WriteLine(ResultAuthTicket);
}
因此,在代码填写数据字段并发布网页后,它应该返回一个结果页面,其中包含一些重要信息,但是它只返回同一页面,所有数据框都填写完了除了组合框和单选按钮保持设置为默认值。
有没有让namevaluecollection填写组合框并检查单选按钮?或者是否有更好的方法来填写和发布具有组合框和无线电按钮并且还需要网络凭证的网络表单?