简体   繁体   English

使用 AngleSharp 授权

[英]Authorization using AngleSharp

I am trying to sign in Habr.com with AngleSharp.我正在尝试使用 AngleSharp 登录 Habr.com。 I can fill e-mail and password fields, but don't know how to submit the form.我可以填写电子邮件和密码字段,但不知道如何提交表格。 If you know any other ways, could you share them, please?如果你知道其他方法,你能分享一下吗?

string pathPageLogin = "https://account.habr.com/login/?state=43fb94b4773d9f8940cc47fd59b79b5c&consumer=habr&hl=ru_RU";

var config = Configuration.Default.WithDefaultLoader().WithDefaultCookies();
IBrowsingContext browsingContext = BrowsingContext.New(config);
await browsingContext.OpenAsync(pathPageLogin);
browsingContext.Active.QuerySelector<IHtmlInputElement>("#email_field").Value = "***";
browsingContext.Active.QuerySelector<IHtmlInputElement>("#password_field").Value = "***";
browsingContext.Active.QuerySelector<IHtmlInputElement>("#login_form > fieldset > div.form__buttons.s-buttons > button").DoClick();

html: html:

 <div class="form__field s-field">
            <label for="email_field" class="form__field-label">E-mail</label>
            <input type="email" class="form__field-input" value="" name="email" data-required="true"  id="email_field" data-validate_url="/ajax/validate/email/" />
          </div>

          <div class="form__field s-field">
            <label for="password_field" class="form__field-label">Пароль</label>
            <input type="password" class="form__field-input" value="" data-required="true" name="password" id="password_field" />
          </div>
...
<div class="form__buttons s-buttons">
            <button type="submit" name="go" class="button button_wide button_primary">
              Войти
            </button>

According to the documentation you can submit the form with SubmitAsync on the form element:根据文档,您可以在表单元素上使用SubmitAsync提交表单:

var form = queryDocument.QuerySelector<IHtmlFormElement>("#login_form");
var resultDocument = await form.SubmitAsync();

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM