このページの概要
Webスクレイピングをするとき、Webシステム上のボタンを押したり、テキストボックスに値を入力したり、テキストを取得したりすとき、必ず操作の対象となる要素(Element)を指定する必要があります。このページでは要素を特定するための「id」という文字列をGoogleChrome(以下chrome)で取得する方法を説明します。
idの使いどころ
「id」は単一のWebページ内で要素を特定することができる文字列であり、原則として他の要素と重複しない名称が指定されます。例えばログインが必要なWebページのID・PW入力用のテキストボックスなどに指定されています。idを指定しておけばWebページのHTML構成が変わったとしても要素を特定することができます。
操作対象のページをchromeで開く
このページの解説では操作対象の例として当サイトのトップページにある関数リファレンスを使用します(https://funcref.com/)。
「検証」画面を開きます
開き方は2つあります。Webシステムでは右クリック禁止という場合もありますが、基本どちらかで検証画面を開くことはできるかと思います。
①「右クリック」⇒「検証」
②「Ctrl」+「Shift」+「I」
開くと下記のような画面になります。ウインドウの幅によって見た目が違うことはあると思いますが、ページ右側に「検証」画面が表示されます。
調べたい要素をクリックする
上記ボタンが青くなっている状態のまま、サイトの任意の場所をクリックします。このページの解説では、検索ワードを入力するテキストボックスをクリックしました。すると「検証」画面の表示が変化し、クリックした場所を示すHTMLの該当箇所が青背景で強調表示されます。
強調表示された中から「id」をコピーする
「id=”〇〇”」となってる部分にカーソルを合わせダブルクリックします。すると下記のような表示となるためそのままコピーします。
「id」が見つからない場合
「▶」マークをクリックして要素を展開してみてください。隠れている可能性があります。ただしそれでも「id」が見つからない場合があります。要素の指定を最も単純に済ますことのできる「id」ですが、都合よく操作対象のすべてに「id」が設定されているとは限りません。ない場合も多くあります。その場合は、他の方法で要素を指定するしかないと諦めましょう。代替品のおすすめは「XPath」です。
【結果】「id」を取得することができました
上記の例では「search_word」という「id」を取得することができました。
業務用PCでスクレイピングするなら「LesserScraping」
業務用PCでExcelVBA(マクロ)からWebスクレイピングをしようとすると「Selenium Basic」の導入でつまずく方は多いです。当サイトでは劣化版Selenium Basicと呼べる「Lesser Scraping」を開発し無償で公開しています。
Comment