в приведенном ниже примере
var url = "http://anglesharp.azurewebsites.net/PostUrlencodeNormal";
var config = new Configuration { AllowRequests = true };
var html = DocumentBuilder.Html(new Uri(url), config);
var form = html.Forms[0] as IHtmlFormElement;
var name = form.Elements["Name"] as IHtmlInputElement;
var number = form.Elements["Number"] as IHtmlInputElement;
var active = form.Elements["IsActive"] as IHtmlInputElement;
name.Value = "Test";
number.Value = "1";
active.IsChecked = true;
form.Submit();
И все же он жалуется, что Value не является расширением IHtmlInputElement, вместо этого используйте SetValue
, но SetValues в основном словарь, и у меня нет идейкак использовать это с AngleSharp.
В другом примере, https://anglesharp.github.io/docs/Forms.html, он также использует
var queryInput = form.Elements["q"] as IHtmlInputElement;
if (queryInput != null)
{
queryInput.Value = "anglesharp";
}
Я предполагаю, что после того, как я установил queryInput в значение, я могу сделать
var input = queryInput.Value to ensure the value is set.
Проблема, с которой я столкнулся, заключается в том, что я задаю три поля, а именно:
userID, pin-код, пароль, прежде чем я нажму на submit. Если я использую AngleSharp, он возвращает меня на ту же страницу, что означает, что аутентификация недействительна. Я знаю, что поля правильно заполнены значением, я просто не уверен, что он действительно передает эти значения.
Спасибо.