2001Yのプロフォール画像

2001Y@Y20010920T

フォームがたくさん時に入力するのがかなり手間だったので作成。

  // 全てのinput, select, textarea要素を取得
  var items = document.querySelectorAll('input, select, textarea');

  // 全てのlabel要素のテキストを配列に格納
  var labels = Array.from(document.querySelectorAll('label')).map(function(label) {
    return label.textContent;
  });

  // input, select, textarea要素に値を設定
  for (var i = 0; i < items.length; i++) {
    var item = items[i];

    // すでに入力されている場合は無視する
    if (item.value !== '') continue;

    // inputまたはtextarea要素の場合
    if (item.tagName === 'INPUT' || item.tagName === 'TEXTAREA') {

      // チェックボックスやラジオボタンの場合はチェックする
      if (item.type === 'checkbox' || item.type === 'radio') {
        item.checked = true;
      }
      // プレースホルダーがある場合はその値を入力する
      else if (item.placeholder !== '') {
        item.value = item.placeholder;
      }
      // input type="file"の場合はファイル選択ダイアログを開く
      else if (item.type === 'file') {
        item.click();
      }
      // 該当しない場合は準備したlabelsからインデックス指定で入力する
      else {
        var index = i % labels.length;
        item.value = labels[index];
      }
    }
    // select要素の場合は1つ目を選択する
    else if (item.tagName === 'SELECT') {
      item.selectedIndex = 0;
    }
  }

GPT生成用メモ

既存のサイトを自動入力指定するコンソールから実行できるjsを書いて。
jQueryを使用しないで。また途中でエラーになった時も進ようにして。

- 準備	
	- 全てのinputとselectとtextbox要素を取得 =items
	- 全てのlabel要素のテキストを配列に格納 =labels
	- 全てのinputとselectとtextbox要素に対して値を設定
	- すでに入力されてる場合:放置
	-  inputまたはtextbox要素の場合
		- チェックボックスやラジオボタンの場合:チェック
		-  type="file"の場合:ダイアログを開く
		- プレースホルダーがある場合:その値を入力
		- 該当しない場合:準備したlabelsからインデックス指定で入力
	- select要素の場合
		- 1つ目を選択