(WebDriver)経由では操作できない。このままでは、せっかくほかの処理を自動化してもファイルの選択だけは手動で行うことになる。それでは中途半端というものだ。OSの管轄なのであれば、OSの提供する機能を使ってファイル選択ダイアログの操作を自動化すればよい。PowerShellは.NETの機能にアクセスできるので、OSが管轄する機能に関しても結構いろいろなことができる。この辺り、PowerShellはWindowsとの相性が良い。APIの機能を引っ張ってきて使ってしまえばよいので、やろうと思えばかなりのことができるのだ。今回はSystem.Windows.Forms経由でウインドウにキー入力を送り込めば解決する。そこで、この機能を使うためにadd-typeを実行する。System.Windows.Formsそして、先ほどと同じようにしてファイル選択ダイアログを起動し、確実にファイル選択ダイアログが起動してフォーカスがそこに移動するまで処理待ちを行う。0.5ここまで準備したら.NETの機能を使ってファイルパスの入力と選択処理を行う。[System.Windows.Forms.SendKeys]::SendWait("C:\Users\daichi\Desktop\images.zip`n")これでアクティブになっているウインドウに「C:\Users\daichi\Desktop\images.zip改行」というデータが送信される。実際には、ファイル選択ダイアログの「ファイル名」のところにファイルパスが入力されていく様子を見ることができる。ファイル選択ダイアログが起動してきて自動的にパスが入力され、そのまま「開く」がクリックされる最後に改行が入っているので、改行が押された状態になる。「開く」ボタンが押されたことになって、ファイル選択ダイアログは終了する。Edgeに表示されていたファイル選択要素のところに、選択したファイルが表示されることを確認できる。ファイル選択が行われた状態になるSeleniumの機能だけではなく.NETの機能も使っているが、実はファイル選択の処理はSeleniumだけだと処理できないケースがあり、その場合にはここで取り上げたようにOSの機能を使って自動操作を続けることになる。このやり方は覚えておいて損はない。共通点は○○だったAI時代に「必要とされる人材」とは??」4月1日より...71%の人が仕事を辞めたいと思った経験あり。※本記事は掲載時点の情報であり、最新のものとは異なる場合があります。システムやソフトウェアの開発に携わるエンジニアに向けた最新情報など仕事に役立つ話題などを提供していきます。Corporation。