動機
Seleniumの操作習得のために、ヘルプをじっくり読むというかまず色々単純なのもから動かしてみようかなと思って、とりあえずGoogle検索してみようと思いました。
環境
- OS: Windows 10 EnterPrise
- Selenium : 4.0.0 Preview-3
リソース
-
ゼロから作らずとも、インストールしたモジュールの中に"Examples"というフォルダがあり、その中に"A-Simple-Google-Search.ps1"というファイル名で何するかすぐわかるファイルがあるのでそれベースにしました。
-
テキスト(メモ帳)だと見にくいのでPowerShell ISEで開くと中身は下記。クロームで実行するベースのスクリプトが記載されてます。自分の理解ではざっくり下記:
- ~5行目:ブラウザの起動
- 11~13行目:Googleの検索窓のHTMML要素の抜粋
- これはブラウザでF12押して開発者ツール開いても確認できます
- Power Automate for Desktopでは「セレクタービルダー」の時に確認・設定できるやつです。自分は基本ド素人ですがPADやってこの概念を取得してました。色々やってみるものですね。
- 17~31行目:HTML要素の属性の指定 ... 指定方法は色々ある様子
- PAD的な感覚で言うと「要素」を変数に入れるのは要は「インスタンス」にしてるというイメージです。Excelインスタンス、Browserインスタンスなど色々ありましたけど要は要素インスタンスにしてる感じですかね。
- 33~41行目:検索窓に文字入力しその要素に対しキー入力を送信する操作
- 42~52行目:待機操作の例 ... 所定の要素が表示されるまで待機し表示されたら所定の操作をする
- Invoke-SeClickは所定の要素をクリックするコマンド。前述の$LogoImageElementに格納された要素インスタンスそのものをクリックするイメージです。
- 54,55行目:ブラウザを閉じる by Stop-SeDriver
サンプルスクリプト(Google検索)
- ひとまずEdgeを利用して検索結果を表示するまでやってみよう、と思い下記スクリプトを作成
Start-SeDriver -Browser Edge -StartURL 'https://www.google.com/'
$Searchbox = Get-SeElement -By Name -value q -Single
Invoke-SeKeys -Element $Searchbox -Keys 'Powershell-Selenium'
Invoke-SeKeys -Element $Searchbox -Keys ([OpenQA.Selenium.Keys]::Enter)
実行結果
- 無事"Powershell-Selenium"で検索した結果が出ました。この画面まで大体8秒くらい。
おわりに
-
基本自分用メモですがどこかの誰かの役に立てば幸いです。
-
PADで知ったことが生きる場面があるので、ローコード開発ツールはリテラシー向上にも役立つな、とあらためて思いました。
-
もし知見のある方でコメントある方いれば是非よろしくお願いします。