AngleSharpのフォームにはさまざまなヘルパーが存在します。仕様によれば、入力フィールド/ボタンがフォームを送信するために使用された違いを生み出すことができます。 (有効な名前の付いたボタン/入力を使用した場合)、マウスを提出
を使用したボタン/入力の名前を提出
- フォームを送信するときしたがってW3C準拠したブラウザエンジンには、次の手順を実行しますタイプ=画像フィールドを使用した場合の座標
- 他のいくつかのより多くのエキゾチックなもの、単純な
form.SubmitAsync()
は役に立ちものではありませんなぜ我々は我々がすでに知っている、これを議論することを今
- 私たちが望む/場合には、持っています "どこかをクリックしてフォームを提出してください。しかし、幸いなことに、AngleSharpには(送信の)「ソース」を指定するフォームにもう1つのオーバーロードがあります。このソースは任意のIHtmlElement
です。あなたのコードで
あなたがソースとしてnullを提供している、上記(document.QuerySelector(buttonSelector) as IHtmlFormElement
を参照してください - のいずれかIHtmlButtonElement
またはIHtmlInputElement
- - いずれにせよIHtmlElement
はなく、IHtmlFormElement
に - これはではない私は、クエリセレクタは、実際にボタンを得なければならないと仮定「フォームの要素」ではなく「フォーム要素」)。
したがって次の行は
document.QuerySelector<IHtmlInputElement>(buttonSelector).SubmitAsync(fields)
var form = document.QuerySelector<IHtmlFormElement>(formSelector);
if (form != null)
{
form.SetValues(fields);
form.SubmitAsync(document.QuerySelector(buttonSelector));
}
これが役に立てば幸いと同じです!
私は以下を使用します。document.QuerySelector(buttonSelector).SubmitAsync(fields); –