powershellでselenium 構文等

powershellseleniumを利用するための基本的な構文

DLLの読み込み

例:「WebDriver.dll」と「chromedriver.exe」はc:\seleniumフォルダに格納

$env:PATH += ";C:\Selenium"

$chrome_object = New-Object "OpenQA.Selenium.Chrome.ChromeDriver"

指定したURLに移動する(例:http://google.com)

$chrome_object.url = "http://google.com"

HTMLソース中のNAMEタグを元にエレメントを特定し、指定する

例:name = “COMMIT”

$commit_button = $chrome_object.FindElementByName( "COMMIT" )

↑で指定したエレメントの操作(クリック)

$commit_button.click()

↑で指定したエレメントの操作(キー入力)

例:confirmedと入力

$commit_button.SendKeys("confirmed")

表示しているページのHTMLソース取得

$htmlsource = $chrome_object.pagesource

 

BASIC認証の突破方法

①URL移動時のURLにユーザ名とパスワードを直接表示することで突破可能

 例:ユーザ名:user, パスワード:password, URL:http://something.com 

 http://user:password@something.com/  

②「①」ではうまく認証できないケースがあり、その場合はPowershell(.NET Framework)の機能で直接ブラウザの認証画面にキー操作を行って対応  

 Start-Sleep -s 3  #3秒待つ

 [System.Windows.Forms.SendKeys]::SendWait("user") #ID入力

 [System.Windows.Forms.SendKeys]::SendWait("{Tab}") #Tabキー送信

 [System.Windows.Forms.SendKeys]::SendWait("password")  #パスワード入力

 [System.Windows.Forms.SendKeys]::SendWait("{Enter}")  #Enterキー送信