browser.execute_script()
Web ドライバーを使用してフォームを完成させていますが、非表示のフォーム フィールドを DOM に挿入するために2 つのフォーム フィールドをバイパスする必要があります。
ただし、フォームを送信するには、既存の検証方法を無効にする必要もあります。フォームは jQuery Validate を使用しています。jQuery Validate の一部または全部を無効にする方法を教えてもらえますか?
以下を使用してみましたが、エラーが発生しますTypeError: d is undefined
b.execute_script('
$("firstMemorableCharacter").rules("remove");
$("secondMemorableCharacter").rules("remove");
')
firstMemorableCharacter
検証ルールが添付されているフォーム フィールドの名前はどこにありますか。
検証は、次のように jQuery Validate を使用して設定されます。
with($.validator) {
addMethod(...);
setDefaults({
....
messages: { },
rules: {
firstMemorableCharacter: {
radioHasValue: true
},
secondMemorableCharacter: {
radioHasValue: true
}
}
});
(上記のルールは、無効にする必要があるものです。)
前もって感謝します。
アップデート:
この投稿に続いて、フォームから jQuery 検証を削除するにはどうすればよいですか? を使用して、HTML DOM (jQuery をバイパス) を使用してフォームを送信しようとしました$("#form-id")[0].submit();
。ただし、これは機能しません。フォームを正しく送信するには、jQuery 内に追加の JavaScript を実行する必要があるようです。
したがって、jQuery 全体または jQuery Validate を無効にするのではなく、jQuery Validate 内でこれら 2 つのルールのみを無効にする方法が必要です。