プログラムでネットサーフィン!

はじめに

  • このサイトについて

プログラムによるWebページの自動操作方法

  • Webページの自動操作方法
  • InternetExplorerを操作する
  • ブラウザを操作するライブラリを使う
  • WebBrowserコントロールを使う
  • WebView2コントロールを使う
  • ブラウザ機能を組み込んだアプリ作成
  • Google App Scriptを使う
  • ブラウザのブックマークレット機能を使う
  • Chrome拡張機能を使う
  • Power Automate for desktopを使う
  • OS/開発言語別、Web操作方法

InternetExplorerを操作する

準備

  • VisualStudioでInternetExplorerを操作
  • Excel VBAでInternetExplorerを操作

基本的な操作

  • Webページの表示
  • 読み込み待ち
  • 戻る/進む/HP/検索
  • 中止/リロード
  • タイトル/URLの取得
  • InternetExplorerの表示/非常時
  • InternetExplorerの位置/サイズ
  • InternetExplorerのバー操作
  • InternetExplorerの終了処理

HTML要素の指定

  • ページ内のすべての要素にアクセス
  • id属性を指定して要素にアクセス
  • name属性を指定して要素にアクセス
  • class属性を指定して要素にアクセス
  • タグ名を指定して要素にアクセス
  • アンカー要素にアクセス
  • form内の要素にアクセス
  • frame内の要素にアクセス

HTML要素の操作

  • クリック
  • 選択
  • 入力
  • 値の参照
  • submit/reset
  • 属性の参照・設定
  • スタイルの参照・設定

ブラウザ/HTMLイベント処理

  • ブラウザで発生したイベントを処理する
  • プログラムでHTML要素のイベントを発生させる

応用テクニック

  • InternetExplorer操作時

WebBrowserコントロールを使う

準備

  • VisualStudioでWebBrowserコントロールを使用
  • Excel VBAでWebBrowserコントロールを使用

基本的な操作

  • Webページの表示
  • 読み込み待ち
  • 戻る/進む/HP/検索
  • 中止/リロード
  • タイトル/URLの取得

HTML要素の指定

  • ページ内のすべての要素にアクセス
  • id属性を指定して要素にアクセス
  • name属性を指定して要素にアクセス
  • class属性を指定して要素にアクセス
  • タグ名を指定して要素にアクセス
  • アンカー要素にアクセス
  • form内の要素にアクセス
  • frame内の要素にアクセス
  • 座標から要素にアクセス

HTML要素の操作

  • クリック
  • 選択
  • 入力
  • 値の参照
  • submit/reset
  • 属性の参照・設定
  • スタイルの参照・設定

ブラウザ/HTMLイベント処理

  • ブラウザで発生したイベントを処理する
  • HTML要素で発生したイベントを処理する
  • プログラムでHTML要素のイベントを発生させる

応用テクニック

  • WebBrowserコントロール使用時

WebView2コントロールを使う

準備

  • WebView2コントロールの準備
  • WebView2コントロールでの操作
  • WebView2コントロールとWebページの連携

基本的な操作

  • Webページの表示
  • 読み込み待ち
  • 戻る/進む
  • 中止/リロード
  • タイトル/URLの取得
  • htmlの取得

HTML要素の指定

  • HTML要素へのアクセス方法について
  • ページ内のすべての要素にアクセス
  • id属性を指定して要素にアクセス
  • name属性を指定して要素にアクセス
  • class属性を指定して要素にアクセス
  • タグ名を指定して要素にアクセス
  • アンカー要素にアクセス
  • form内の要素にアクセス
  • CSSセレクタによる要素へのアクセス
  • 座標から要素にアクセス
  • iframe内の要素にアクセス
  • shadow-root内の要素にアクセス

HTML要素の操作

  • HTML要素へのアクセス方法について
  • クリック
  • 選択
  • 入力
  • 値の参照
  • submit/reset
  • 属性の参照・設定
  • スタイルの参照・設定

ブラウザ/HTMLイベント処理

  • ブラウザで発生したイベントを処理する
  • プログラムでHTML要素のイベントを発生させる

アプリの配布

  • WebView2アプリの配布

応用テクニック

  • 各種設定
  • 特殊な操作
  • その他

WebViewコントロール(MAUI)を使う

準備

  • .NET MAUIの準備
  • WebViewコントロール(.NET MAUI)を使用する

基本的な操作

  • Webページの表示
  • 読み込み待ち
  • 戻る/進む
  • 中止/リロード
  • URL/ローカルhtmlの取得
  • htmlの取得

HTML要素の指定

  • HTML要素へのアクセス方法について
  • ページ内のすべての要素にアクセス
  • id属性を指定して要素にアクセス
  • name属性を指定して要素にアクセス
  • class属性を指定して要素にアクセス
  • タグ名を指定して要素にアクセス
  • アンカー要素にアクセス
  • form内の要素にアクセス
  • CSSセレクタによる要素へのアクセス
  • iframe内の要素にアクセス
  • shadow-root内の要素にアクセス

HTML要素の操作

  • HTML要素へのアクセス方法について
  • クリック
  • 選択
  • 入力
  • 値の参照
  • submit/reset
  • 属性の参照・設定
  • スタイルの参照・設定

WebViewコントロールとWebページの連携

  • WebViewコントロールとWebページの連携
  • C#からWebページのJavaScriptを実行する方法
  • JavaScriptからメッセージを送り、C#で受け取る方法

Seleniumでブラウザを操作する

  • Seleniumによるブラウザーの自動操作

Selenium IDEの使い方

  • インストール
  • ブラウザ操作の記録・自動実行
  • 設定内容の解説と、編集方法

Selenium WebDriverの準備

  • インストール方法
  • インストール方法(Excel VBA)
  • ブラウザの起動
  • 操作サンプルコード

基本的な操作

  • ブラウザ起動
  • Webページの表示
  • 読み込み待ち
  • 戻る/進む/更新
  • タイトル/URLの取得/ソースコードの取得
  • alert/confirm/promptの操作
  • JavaScriptの実行
  • ブラウザ終了

ウィンドウ・タブ操作

  • 新しいウィンドウ・新しいタブの作成
  • 操作対象の切り替え
  • ウィンドウのサイズの参照/設定
  • ウィンドウの位置の参照/設定
  • ウィンドウの最大化/最小化/全画面
  • 終了処理

HTML要素の指定

  • 要素の特定に使用するメソッド
  • id属性を指定して要素にアクセス
  • name属性を指定して要素にアクセス
  • class属性を指定して要素にアクセス
  • タグ名を指定して要素にアクセス
  • アンカー要素にアクセス
  • CSSセレクタによる要素へのアクセス
  • XPathで要素にアクセス
  • form内の要素にアクセス
  • iframe内の要素にアクセス
  • shadow-root内の要素にアクセス

HTML要素の操作

  • クリック
  • 選択
  • 入力
  • 値の参照
  • submit
  • 属性の参照・設定
  • スタイルの参照・設定

応用テクニック

  • 各ブラウザ共通
  • Chromeブラウザ

Google Apps Scriptを使う

  • Google Apps Script (GAS)について
  • Google Apps Scriptの始め方
  • GASでhtmlを取得して解析してスプレッドシートに書き込む
  • GASでJsonを取得してhtmlで表示する
  • ページを装飾する
  • グラフを作成して表示する
  • 定期的に自動実行する

Playwrightを使う

準備

  • Node.jsのインストール
  • C#で使う場合
  • PHPで使う場合
  • VisualStudioCodeで使う場合

ブラウザ操作アプリのつくり方

  • サイトの構成を調べる方法
  • HTMLのデータを取得する方法
  • Yahoo検索
  • Google検索

Web操作テストページ

  • HTML要素の操作関連
  • JavaScript実行関連
  • アクセス情報表示
  • Basic認証用テスト

IPアドレスを複数用意する方法

  • IPアドレスを複数用意する方法
  • 格安Sim/モバイルWifiを使う
  •  データ専用SIM/モバイルWifiの種類
  •  小型パソコンの種類
  •  パソコンとSIMの接続
  •  ブラウザで画像・動画を表示しない設定
  • レンタルサーバーを使う
  • フレッツ光のPPPoEを使う
  • 遠隔地に自動巡回システムを設置する場合のリモート制御
  •  リモートで電源を制御する装置

ブラウザ操作に関する技術メモ

  • IE操作/WebBrowser

問い合わせ・ツール開発依頼

  • 問い合わせフォーム

ブラウザの特殊な操作

WebBrowserコントロール(.NET)使用時

  • JavaScriptのプログラムを実行する
  • リンククリック時に別ウィンドウを開かずに自ウィンドウに表示する
  • 表示しているページのCookieを取得・設定する
  • 画面の情報を取得する&画面をスクロールする
  • キャッシュの削除
  • レンダリングモードをInternetExplorer11に変更する
  • JavaScriptからC#/VBのメソッドを実行する
  • User-Agentの変更
  • スクリプトエラーを表示しない、画像非表示、JavaScript非実行
  • VB.NETでCOMのWebBrowserを使う
  • MouseDownイベントの追加
  • 新規ウィンドウを開かずに、自身のWebBrowser内に表示する
  • POSTされたデータを参照する
Copyright(c) 2012-2022 プログラムでネットサーフィン All rights reserved