前提・実現したいこと
Java Scriptでスクレイピングの一環としてあるサイトの自動で制御するプログラムを作成中です。
そこで、サイト内のクラスを取得して、click()で自動でクリックさせたいと思ってます。
しかし、同じクラス名が複数あり、その中から一つの要素を取得する方法を発見できませんでした。
iPhoneのショートカットで動作させたいので、PythonのSeleniumではなく、JSであえてやってます。
なので、モジュールのインストール等は極力避けたいと考えてます。
また、サイトのHTMLは個人情報が含まれるので、修正を加えてます。
JavaScriptはあまり使ったことがないので、的外れな質問かもしれませんが、どうぞご協力お願いします。
発生している問題・エラーメッセージ
TypeError: null is not an object (evaluating 'document.querySelector(".btn_style3 radius 10").click')
該当のソースコード
JavaScript
1function login2() { 2 document.querySelector(".btn_style3 radius_10").click(); 3 } 4login2() 5 6completion(result); 7
HTML
1 <div class="box_btn_style5"> 2 <button type="button" class="btn_style3 radius_10" onclick="location.href='./abcd.php'"><div><img src="./images/icon_1.png" alt="###"></div><div><span>###</span><span>(Register health data)</span></div></button> 3 </div> 4 <div class="box_btn_style5"> 5 <button type="button" class="btn_style3 radius_10" onclick="location.href='./efgh.php'"><div><img src="./images/icon_2.png" alt="###"></div><div><span>###</span><span>(Review past reports)</span></div></button> 6 </div> 7 <div class="box_btn_style5"> 8 <button type="button" class="btn_style3 radius_10" onclick="location.href='./ijkl.php'"><div><img src="./images/icon_3.png" alt="###"></div><div><span>###</span><span>(Review purpose of use)</span></div></button> 9 </div> 10 <div class="box_contact"> 11 <ul>
試したこと
elements = document.queryselectorall(".btn_style3 radius_10")
ですべてのクラスを取得し、
elements[0]で指定するなど。
補足情報(FW/ツールのバージョンなど)
HTMLはchromeの「ページのソースを表示」から取得しました。
