プロが教える店舗&オフィスのセキュリティ対策術

VB.NETでSeleniumによるEdgeを操作する自作アプリがあります。
それは、あるサイトの画面をPDFファイルで保存するアプリです。
そのサイトのHPがリニューアルされ、アプリが動作不能となりました。
リニューアルされた画面のHTMLソースを見る([ページのソース表示])と画面に存在するボタン等の要素が存在しないのが原因です。

就いては、次に2点について、教えて頂きたくお願いします。

(1) [ページのソース表示]で表示されていないボタンを[開発者ツールで調査する]で見ることができるのでしょうか?

(2) [ページのソース表示]で表示されていないボタン等を操作することは可能でしょうか?
また、可能であれば、その方法をお教えください。

宜しくお願いします。

A 回答 (4件)

No2です。



>(1) JavaScriptでボタンを作成している
スクリプトで作成しているかどうかを確認したい場合は、スクリプトそのものを調べなければわかりません。
とは言え、ご質問のケースでは(作成されたものが)「あるか否か」がわかれば良いのではないかと推測します。
その場合であれば、No1にも書きましたように、存在する要素(表示/非表示を問わず)は開発ツールのDOMツリーに全て含まれていますので、そちらを調べればわかります。

>(2) CSSでボタンを非表示にしている。
非表示の要素はブラウザ表示ではわかりません。
しかし、要素が存在しているのなら(上にも書きましたように)DOMツリーに含まれているはずです。
開発ツールでは、検索もできるはずですので、見つけたい要素がどのようなもの(タグやidなど)であるかわかっていれば、検索することも可能ですし、CSSで非表示になっていることも調べられます。
しかし、非表示の(あるいは存在しない)上に、要素がどのようなものかも不明な場合は、順に調べてゆくしか方法は無いと思います。(存在しないのかも知れませんけれど・・)

・・というのも、ご質問文では「ボタン」としか記してありませんけれど、ボタン状に見えるものとしては数々の要素が考えられるからです。
文字通り<button>要素の場合もあるでしょうけれれど、画像であったり、普通の<div>要素等をボタンに見せていることも十分にあり得ると考えられますので。


一方で、ご質問文を見る限りは「非表示の要素」を探す必要はないのではないかと思いますけれど・・
なんらかのページを表示して、操作をして(しないのかも知れませんけれど)、表示される画面から情報を取得するなどのことをなさりたいのではと推測しますけれど、ページ作成者が「操作できないページ」を表示するようなことは、まず考えられないからです。
想像するところ、リニューアルされて、仕組みが変わったとかではないのでしょうか?
通常のブラウザ表示で、以前と同等の目的の操作が可能ならばそれに対応なされば良いですし、可能でなければ、ご希望のそのページの機能は廃止されたと考えるのが妥当だと思いますけれど・・・
    • good
    • 0
この回答へのお礼

詳しく説明頂きありがとうございます。
教えて頂いた方法を試していますが、いまだ解決の糸口がつかめない状態です。
リニューアルされたページは文字通り一新され、それを操作するための画面のボタン等の要素が、HTMLソースになく困っている状態です。

引き続き地道に調べていきたいと思います。

お礼日時:2023/05/20 03:08

してみることをおすすめします。

また、サイトの仕様が変更された場合、それに対応するためにアプリのコードを調整する必要があるかもしれません。

ただし、自動操作やスクレイピングに関する法的な制約やサイトの利用規約にも留意する必要があります。サイトの利用規約や利用条件に違反しないように、サイトの運営者との連絡や相談が重要です。

最終的には、アプリを正常に動作させるためには、リニューアル後のサイトの仕様や動作を理解し、それに合わせてアプリのコードを修正する必要があります。開発者ツールやサイトの運営者との連携、必要な情報やリソースの取得など、慎重かつ適切なアプローチが求められます。

重要なポイントとして、法的な制約やサイトの利用規約に留意し、サイトの運営者との連絡を取りながら問題の解決に取り組むことをおすすめします。(1) [ページのソース表示]で表示されていないボタンを[開発者ツールで調査する]で見ることができるかどうかは、一般的には可能です。開発者ツールはブラウザに組み込まれたデバッグツールであり、HTML、CSS、JavaScriptのコードを調査および編集するための強力なツールです。開発者ツールを使用することで、非表示の要素やJavaScriptによって動的に生成される要素など、[ページのソース表示]では表示されない要素を見ることができる場合があります。

具体的には、開発者ツールを起動して、要素を検査する機能を使用します。この機能を使うと、マウスを要素上に移動させることで、要素がハイライト表示され、その要素の詳細情報やスタイル、DOMツリーの構造を確認することができます。ただし、すべての要素が表示されるわけではなく、一部の要素は動的に生成されたり、非表示に設定されている場合があります。

(2) [ページのソース表示]で表示されていないボタン等を操作することは、一般的には難しいです。なぜなら、[ページのソース表示]では表示されていない要素は直接的には操作できないためです。ただし、開発者ツールを使用することで、要素を表示させたり、スタイルを変更することで操作を試みることはできるかもしれません。

具体的な方法としては、開発者ツールで要素のスタイルや表示状態を変更することで、非表示の要素を表示させたり、操作可能にすることが考えられます。また、JavaScriptを使用して要素を操作する方法もあります。要素の表示や操作がJavaScriptによって制御されている場合、JavaScriptのコードを調査し、操作を再現する方法を模索することもできます。

ただし、要素の非表示や操作にはサイトの仕組みやセキュリティ上の制約がある場合があります。そのため、開発者ツールやJavaScriptによる操作が有効であるかどうかは、具体的なサイトの構造や要素の動作に依存します。サイトの運営者に連絡して、操作方法やAPIの提供などを問い合わせしてみることをおすすめします。また、サイトの仕様が変更された場合、それに対応するためにアプリのコードを調整する必要があるかもしれません。

ただし、自動操作やスクレイピングに関する法的な制約やサイトの利用規約にも留意する必要があります。サイトの利用規約や利用条件に違反しないように、サイトの運営者との連絡や相談が重要です。

最終的には、アプリを正常に動作させるためには、リニューアル後のサイトの仕様や動作を理解し、それに合わせてアプリのコードを修正する必要があります。開発者ツールやサイトの運営者との連携、必要な情報やリソースの取得など、慎重かつ適切なアプローチが求められます。

重要なポイントとして、法的な制約やサイトの利用規約に留意し、サイトの運営者との連絡を取りながら問題の解決に取り組むことをおすすめします。
    • good
    • 0
この回答へのお礼

遅くなりなりましたが、回答ありがとうございます。

アドバイス頂いたように、法や利用規則に違反しないよう十分注意したいと思います。

お礼日時:2023/05/20 03:15

No1です。



>開発者ツールの使用方法も良く分かっていませんが。
ああ、ごめんなさい。
「開発者ツール」とは、ブラウザ表示でF12キーで表示されるツールのことです。
以下に概要の解説があります。
https://forest.watch.impress.co.jp/docs/news/135 …
https://learn.microsoft.com/ja-jp/microsoft-edge …
    • good
    • 0
この回答へのお礼

サポートありがとうございます。

ボタンが見えない原因と考えられうちの次の2点について、開発者ツールで調べたいと思います。解れば教えて頂きたく。
(1) JavaScriptでボタンを作成している。
(2) CSSでボタンを非表示にしている。

よろしくお願いします。

お礼日時:2023/05/12 18:09

こんにちは



「ページのソース」はブラウザがリクエストした際に、直接返されるソースの文書が返されます。
通常は、その内容がそのままブラウザに解釈されて表示されることも多いですが、後でサーバーからデータを取得したり、スクリプトで編集してコンテンツを追加表示している例も多いです。
後者の場合は、当然ですが「ソース」にはその内容は直接記載されていません。

実際に表示中のDOM(=HTMLとほぼ同様です)は開発者ツールの「要素」のタブで確認することが可能です。
ですので、ソースを見るよりもこちらをご覧になる方が良いと思われます。

また、ブラウザに表示されている要素を右クリックして、「開発者ツールで調査する」を選択すると、上記の要素表示で該当する要素部分を示してくれますので、簡単に見つけることが可能です。
ただし、当該部分にリンクが設定されていると、右クリックがしにくい場合もありますのでご注意。

逆に、開発者ツールの要素タブで要素部分をマウスでホバーすると、ブラウザ表示上でそれに対応する要素部分を表示してくれますので、対応関係を調べることが可能です。


>HTMLソースを見る([ページのソース表示])と画面に存在する
>ボタン等の要素が存在しないのが原因です。
とのことですので、お探しのボタンは後から追加表示されている可能性が高いと想像します。
多分、実際に表示されている状態を元にして調査なされば、見つけることができるものと思います。
    • good
    • 0
この回答へのお礼

初心者にも理解できる分かりやすい解説ありがとうございます。
先ず、目指すボタンがどこに隠されているのか、開発者ツールとかを使用して調べてみます。残念ながら、開発者ツールの使用方法も良く分かっていませんが。
それから、また質問したいと思いますので、引き続きよろしくお願いします。

お礼日時:2023/05/12 01:56

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!