1

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 つのルールのみを無効にする方法が必要です。

4

1 に答える 1