• ベストアンサー

ブックマークレットについて

javascript:{document.querySelectorAll('a.kitene_send_btn__text_wrapper').forEach(btn=>btn.click())} ↑一括選択をしてボタンを押すブックマークレットになるのですが、 <span class="answer compatibility">2023/10/11 送信済</span> ↑こちらのコードを範囲外にする場合は、どのような組み方にすればいいのでしょうか? よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • luka3
  • ベストアンサー率74% (306/409)
回答No.1

この条件であれば、こんな感じになると思います(forEach以外は省略します) .forEach(btn=>{if(btn.innerText.indexOf("2023/10/11 送信済")<0)btn.click()})

関連するQ&A

  • ブックマークレットのクリック回数について

    ブックマークレットについて javascript:(()=>{ const userPages = document.querySelectorAll('.userpage'); const targetUserPages = [...userPages].filter(e => isDateOutside(e)); console.log(`クリック対象`, targetUserPages.map(e=>e.querySelector('.answer.compatibility').textContent)); targetUserPages.map(e => e.querySelector('a.kitene_send_btn__text_wrapper').click()); function isDateOutside(userPage){ const textSplit = userPage.querySelector('.answer.compatibility').textContent.split(` `); const userDate = new Date(textSplit[0]); const startDate = new Date('2023/09/11'); const endDate = new Date('2023/10/31'); if(startDate <= userDate && userDate <= endDate){return false;} return true; } })(); ↑こちらのコードが日付を指定した範囲内をクリック除外で、他のボタンを全てクリックする状態になっているのですが、クリック数を5回までに絞る事は可能でしょうか? ご教授頂ければと思いますので、宜しくお願い致します。

  • コードの日付設定について

    document.querySelectorAll('.userpage').forEach(user=>{if(user.querySelector('.answer.compatibility').textContent!=='2023/10/11 送信済')user.querySelector('a.kitene_send_btn__text_wrapper').click()}) こちらのコードの『2023/10/11 送信済』今の状態ですと、この日付のみ弾く形になるのですが、9月〇日~10月〇日までみたい感じで範囲を指定して弾くことは可能なのでしょうか?

  • ブックマークレット勉強中 javascript:void

    javascriptの入門書を2さつよみました。 そこでブックマークレットをつくっています。 javascript:void(document.body.style.lineHeight='1.6em') ↑のようなブックマークレットで、いろいろリファレンスを調べたのですが、void の意味が良く分かりません。 どなたか詳しい意味使い方をおしえてください。 たしかに void の部分がないとうまく機能しないので、必要なのは分かるのですが……

  • ブックマークレット target指定

    ブックマークレットを新しいタブで開きたいです。 具体的には、Googleブックマークにサイトを追加するブックマークレットです。 下記は、現在のタブで追加画面が開いてしまいます。 よろしくお願いします。 javascript:location.href='http://www.google.com/bookmarks/mark?op=add&bkmk='+encodeURIComponent(location.href)+'&title='+encodeURIComponent(document.title)

  • ブックマークレットで重複した履歴ができてしまう

    ソーシャルブックマークのdel.icio.usの、ブックマークレットと同じようなものを作ろうとしています。ブックマークしたいページでブックマークレットをクリックすると、そのページのURLやタイトルを取り込んで、del.icio.usの登録ページでそのページをブックマークできるというものです。 ブックマークレットの中身は以下です。 javascript:location.href='http://del.icio.us/post?v=4;url='+encodeURIComponent(location.href)+';title='+encodeURIComponent(document.title) ところが、おかしなことに気づいたのですが、このブックマークレットをIEで実行すると、ブックマークしたいページの履歴が2回記録されてしまうのです。FireFoxではそういうことは起こりません。 IEでは、なぜこのようなことが起きるのでしょうか?2回記録されないようにする方法はあるのでしょうか?(登録後、ユーザーは履歴を辿って戻る操作も多いと思うので)

  • javascriptのブックマークレット作成

    javascript初心者です。 以下のコードをブックマークに登録して、フォームに自動で入力されることが確認できました。 そもそも根本的なことがわかっていないのですがいくつか質問をさせてください。 ■コード javascript:(function(){arrs=document.getElementsByName("simei");arrs[0].value="かきくけこ"})(); <質問1> 上記のコードは変数を使用せずに記述はできないのでしょうか? ■やりたいイメージ javascript:(function(){document.getElementsByName("simei").value="かきくけこ";})(); <質問2> macを使用しているのですが、ブックマークレットではなく ローカルファイルとして実行させて、現状開いているWEBフォームへ値を設定させることは可能でしょうか。 また、どのようにすればよいでしょうか。 ざっくばらんな質問で申し訳ありません。 ヒントとなる単語だけでもよいので教えてください。 よろしくお願いします。

  • ブックマークレットを使いたい

    エイサーの Chromebook 15 CB3- 532 F 14 のブラウザの Chrome からブックマークレットを使いたいと思っています。 javascript:alert('こんにちは'); や あやしいリンク先の実際のリンクを確認する javascript:(function(){var a=document.activeElement; alert(a.outerHTML);})(); は本を参考に試したところ実行できました。 同じように リンク先を確認してからジャンプする javascript: captureEvents(Event.CLIK); void( onclick=function(e){ return confirm(e. target. href) } ) では失敗しました。 失敗は計算機能 javascript:( function(){ var c=prompt(“計算式を入力してください”); if(c!=null){ alert(eval (c)); } void(0); } )(); でも起きました。 失敗で表示される画面は違うはずなのに結果として同じようです。 添付ファイルにその状態を示します。 両方とも市川市図書館のURL で試したのでその URL のトップが見える画面です。 直し方を教えてくださいよろしくお願いします

  • HTMLソースをコピーするブックマークレット

    よろしくお願いします。 タイトルのとおり、HTMLソースをコピーするブックマークレットを作りたいのですが、 IEからメモ帳でソースを開いた時と全く同じ内容をクリップボードにコピーしたいのですが、 以下のスクリプトではそのように動作しませんで、困っています。 javascript:alert(document.parentWindow.clipboardData.setData("text", document.body.innerHTML)?'コピー完了':'false'); 上記ので駄目だったので、以下のスクリプトも試しましたが、駄目でした。 javascript:alert(document.parentWindow.clipboardData.setData("text", document.getElementsByTagName('html')[0].innerHTML)?'コピー完了':'false'); 上記スクリプトでは<HEAD>~</BODY>までの間しかコピーされず(その前後の<script >関連などがコピーされません)、また、改行やインデントなども消去されてしまっています。 コピーしたデータをPHPのプログラムでデータとして処理しているため、IEのソースを表示でメモ帳で開いたデータと全く同じ様式にしてコピーしたいのですが…。 詳しい方がおられましたら、どうかよろしくお願い致します。

  • 拡大スクリプト・zoom_ブックマークレット

    閲覧中のページを拡大するブックマークレット(上)を発見したのですが、下のスクリプトようにシンプルにてはいけないのでしょうか。 上のように書くメリットを教えてください。 <!-- 拡大 --> javascript:void(s=document.body.style);void(z=s.getAttribute('zoom'));if(z){s.setAttribute('zoom',(parseInt(z)+30)+'%');}else s.setAttribute('zoom','130%'); <!-- 拡大シンプル --> javascript:document.body.style.zoom=1.3;eval();

  • 変数をテキストボックスに入れるには?

    javascriptでゲームを作っています。 <dlv class='userinfo' style='display:none;'><span class='alias'></span></dlv> でユーザー名が拾えます。 <script type="text/javascript"> document.write("<dlv class='userinfo' style='display:none;'><span class='alias'></span>さん。ようこそ</dlv>"); </script> これで、「高橋さん。ようこそ」と表示されます。 次に、この「高橋」をフォームに入れることを考えました。 そこで下記のように作ったのですが、フォームの中は「undefined」になってしまいます。 <script type="text/javascript"> var abk; abk = document.write("<dlv class='userinfo' style='display:none;'><span class='alias'></span></dlv>"); document.getElementById('cla2').value = abk; </script> <input typy="text" id="cla2" value=“"> 次に下記のように作ったのですが、フォームの中は空です。 <script type="text/javascript"> var abk; abk = document.write("<dlv class='userinfo' style='display:none;'><span class='alias'></span></dlv>"); $("#text44").val(abk); </script> <input typy="text" id="text44" value=“"> どうすれば、 document.write("<dlv class='userinfo' style='display:none;'><span class='alias'></span></dlv>"); で表示される文字をフォームの中に記載することが可能になるでしようか?