Web操作をするためのプログラムの備忘録になります。
随時更新しております・・・
Sendkeysについて
Sendkeysの使い方
sendkeysを利用する場合は、メモ帳等で下記のようなプログラムを記載すれば動きます。
※拡張子は.txt→.vbsに変更する必要があります。
■プログラム(sample)
Dim WshShell 'sendkeysを利用するためのオブジェクト宣言
set WshShell = WScript.CreateObject("WScript.Shell") 'sendkeysを利用するためのオブジェクト作成
WshShell.SendKeys "test" 'testというキーを押下
その他、sendkeysによるキー操作で"(ダブルコーテーション)で囲ったとしても使えない特殊文字がありますので、その使い方をご紹介いたします。
Sendkeysの特殊文字一覧
キー | コード |
---|---|
BackSpace | {BACKSPACE}または{BKSP} |
Break | {BREAK} |
CapsLock | {CAPSLOCK} |
Del または Delete | {DELETE}または{DEL} |
↓ | {DOWN} |
終了 | {END} |
Enter | {ENTER} または ~ |
Esc | {ESC} |
HELP | {HELP} |
ホーム | {HOME} |
Ins または Insert | {INSERT} または {INS} |
← | {LEFT} |
NumLock | {NUMLOCK} |
PageDown | {PGDN} |
PageUp | {PGUP} |
PrintScreen | {PRTSC} |
→ | {RIGHT} |
ScrollLock | {SCROLLLOCK} |
Tab | {TAB} |
↑ | {UP} |
F1 | {F1} |
F2 | {F2} |
F3 | {F3} |
F4 | {F4} |
F5 | {F5} |
F6 | {F6} |
F7 | {F7} |
F8 | {F8} |
F9 | {F9} |
F10 | {F10} |
F11 | {F11} |
F12 | {F12} |
F13 | {F13} |
F14 | {F14} |
F15 | {F15} |
F16 | {F16} |
■使い方(sample)
Dim WshShell 'sendkeysを利用するためのオブジェクト宣言
set WshShell = WScript.CreateObject("WScript.Shell") 'sendkeysを利用するためのオブジェクト作成
WshShell.SendKeys "{ENTER}" 'ENTERキーを押下
オプションキーとの組み合わせ方法について
通常のキーと Shift、Ctrl、および Alt キーの任意の組み合わせを指定するには、通常のキーのコードの前に次のコードを付加します。
キー | コード |
---|---|
Shift | + |
Ctrl | ^ |
Alt | % |
■使い方(sample)
Dim WshShell 'sendkeysを利用するためのオブジェクト宣言
set WshShell = WScript.CreateObject("WScript.Shell") 'sendkeysを利用するためのオブジェクト作成
WshShell.SendKeys "^(v)" 'Ctrlキーを押しながらvボタン
その他特殊文字や入力方法について
・複数回の入力
特殊文字は1命令で複数回のキーボード操作が可能です。
使い方としては{}内のキー操作の命令の後に実行回数を入力するだけです。
■使い方(sample)
WshShell.SendKeys "{ENTER 10}"
・処理の一時停止にいて
Sleepコマンドを利用することによって、処理を一時停止できます。
ミリ秒指定になるので、1000で1秒となります。
自動操作をする場合、一時停止を入れないとsendkeysの処理が速すぎてwebの読み込み等が間に合わない場合がありますので、適宜停止処理を入れる必要があります。
■使い方(sample)
WScript.Sleep 5000 '5秒停止
・"、{、}、(、)(ダブルコーテーション、括弧)などの入力方法について
ダブルコーテーションを使いたい場合はダブルコーテーションの前にダブルコーテーションを記載すれば使えます。
括弧を使いたい場合は、括弧を{}で囲えば使えます。
■使い方(sample)
WshShell.SendKeys """" 'キー操作としては「"」が1個
WshShell.SendKeys "{(}{)}" 'キー操作としては「()」を入力
開発コンソールにおけるJavascript処理について
EgdeやChromeにはWeb操作やテストを行うための開発コンソールを利用することができます。(F12を押下すると起動します)
その開発コンソールで使えるプログラムをご紹介いたします。
document.getElementById("id名")
タグのid名を指定して、そのタグに対して操作をすることができます。
テキストボックスやセレクトボタン等であれば文字入力や選択をすることができますし、ボタンやリンクであればクリック操作が可能です。
document.getElementsByClassName("クラス名")[n]
タグのクラスを指定して、そのタグを操作することができます。
クラスの定義は複数のタグで使うことができるので、取得したデータは配列となります。そのため、操作する場合は後ろのnの部分に数字を入れて操作するタグを決定する必要があります。
操作できる処理としてはIdと同一です。
document.getElementsByTagName("タグ名")[n]
タグを指定して、そのタグを操作することができます。
具体的には、INPUTタグやAタグ、DIVタグなどを指定します。
タグはHTML内で多く記載されているため、探すのが大変ですが、IDやクラスの定義がされていないタグでも操作することができます。
操作できる処理としてはIdと同一です。
GASを利用したwebスクレイピング
スクリプトID
GASでwebスクレイピングを行う場合、その処理を利用できるようにするライブラリをインポートする必要があります。
GASのコード画面の左メニューのライブラリにて+マークを押下し、下記IDのスクリプトIDを検索すれば該当のライブラリである「Parser」をインポートできます。
スクリプトID:1Mc8BthYthXx6CoIz90-JiSzSafVnT6U3t0z_W3hLTAX5ek4w0G_EIrNw
「Parser」をインポートすれば、下記処理が実行でき、簡単にwebの情報を取得することができます。
let response = UrlFetchApp.fetch("https://ex-ture.com/");
let content = response.getContentText("utf-8");
var text = Parser.data(content).from('<small>').to('</small>').iterate();
console.log(text)