目次
- 1 GetSession
- 2 GetBrowserName
- 3 GetBrowserVersion
- 4 Navigate
- 5 Reload
- 6 SwitchWindow
- 7 SwitchFrame
- 8 GetCurrentWindowHandle
- 9 GetWindowHandles
- 10 GetUrl
- 11 GetTitle
- 12 GetSource
- 13 FindElement
- 14 FindElements
- 15 FindElementsByName
- 16 FindElementByXPath
- 17 FindElementsByXPath
- 18 ExecuteScript
- 19 GetDialogText
- 20 SetDialogText
- 21 AcceptDialog
- 22 DismissDialog
- 23 GetRect
- 24 SetRect
- 25 Maximize
- 26 Minimize
- 27 Fullscreen
- 28 Close
- 29 プログラム実行例
- 30 参考文献
モジュールのバージョンによって使える関数と使えない関数があります。バージョンはUwscWebDriver.uwsの最初の方に以下のように書いてあります。
Const UWSCWEBDRIVER_MODULE_VERSION = 0.8.9
GetSession
現在のwebdriverセッション情報を取得します。
string = driver.GetSession()
GetBrowserName
ブラウザの名前を返します。Chromeは「chrome」、ChromiumEdgeは「msedge」、Firefoxは「firefox」を返します。
string = driver.GetBrowserName()
GetBrowserVersion
ブラウザのバージョンを返します。
string = driver.GetBrowserVersion()
例
DIM driver = WebDriver.Chrome()
PRINT driver.GetBrowserVersion()
- 結果
105.0.5195.127
urlに指定したURLを開きます。
void = driver.Navigate(url, [target])
- url
- 開くページのURL
- target(省略可)
- 値を指定した場合、別タブで開きその値をウィンドウ名として使うことができます。SwitchWindowの引数にウィンドウ名を指定することで操作することができます。
例
新しく開いたタブのタイトルとURLを取得する。
DIM driver = WebDriver.Chrome()
WITH driver
.Navigate("http://example.com", "tab")
.SwitchWindow("tab")
PRINT .GetTitle()
PRINT .GetUrl()
.Close()
ENDWITH
Reload
Webページをリロード(再読み込み)します。
void = driver.Reload()
SwitchWindow
操作するウィンドウ(タブ)を切り替えます。
handle = driver.SwitchWindow(handleOrName)
- handleOrName
- ハンドル名またはウィンドウ名
SwitchFrame
Boolean = driver.SwitchFrame(id)
- id
GetCurrentWindowHandle
現在のウィンドウのハンドルを返します。操作対象を切り替えるにはSwitchWindowを使います。
handle = driver.GetCurrentWindowHandle()
GetWindowHandles
制御可能なウィンドウのハンドルを列挙します。
SafeArray = driver.GetWindowHandles()
例
DIM driver = WebDriver.Chrome()
WITH driver
.Navigate("http://example.com", "Example")
.Navigate("http://google.com", "Google")
.Navigate("http://yahoo.co.jp", "Yahoo")
FOR handle IN .GetWindowHandles()
.SwitchWindow(handle)
PRINT .GetTitle()
PRINT .GetUrl()
PRINT "-----"
NEXT
ENDWITH
- 結果
data:, ----- Yahoo! JAPAN https://www.yahoo.co.jp/ ----- Google https://www.google.com/?gws_rd=ssl ----- Example Domain http://example.com/ -----
GetUrl
現在のページのURLを取得します。
string = driver.GetUrl()
GetTitle
現在のページのタイトルを取得します。
string = driver.GetTitle()
GetSource
現在のページのHTMLソースを取得します。
string = driver.GetSource()
例
DIM driver = WebDriver.Chrome()
WITH driver
.Navigate("http://example.com")
PRINT .GetSource()
ENDWITH
FindElement
CSSセレクタを指定してelementオブジェクトを取得します。
element = driver.FindElement(selector)
- selector
- CSSセレクタを指定。Byモジュールの利用が可能
FindElements
CSSセレクタを指定して複数のelementオブジェクトを取得します。
elements = driver.FindElements(selector)
- selector
- CSSセレクタを指定。Byモジュールの利用が可能
FindElementsByName
name属性を使用して複数のelementオブジェクトを取得します。
elements = driver.FindElementsByName(name)
- name
- name属性
FindElementByXPath
xpathを指定してelementオブジェクトを取得します。
element = driver.FindElementByXPath(xpath)
- xpath
- xpath属性
FindElementsByXPath
xpathを指定して複数のelementオブジェクトを取得します。
elements = driver.FindElementsByXPath(xpath)
- xpath
- xpath属性
ExecuteScript
任意のJavaScriptを実行させます。
return = driver.ExecuteScript(script, [args])
- script
- args
GetDialogText
string = driver.GetDialogText()
SetDialogText
void = driver.SetDialogText(value)
- value
AcceptDialog
void = driver.AcceptDialog()
DismissDialog
void = driver.DismissDialog()
GetRect
ブラウザのサイズと座標を取得します。
Rect = driver.GetRect()
SetRect
ブラウザのサイズと座標を設定します。
Rect = driver.SetRect(width, height, x, y)
- width
- height
- x
- y
Maximize
ブラウザを最大化します。
Rect = driver.Maximize()
Minimize
ブラウザを最小化します。
Rect = driver.Minimize()
Fullscreen
ブラウザをフルスクリーン表示にします。
Rect = driver.Fullscreen()
Close
セッションを終了しブラウザを閉じます。
void = driver.Close()
プログラム実行例
Yahoo!検索
CALL UwscWebDriver.uws
driver = WebDriver.Chrome()
driver.Navigate("http://yahoo.co.jp")
element = driver.FindElement("input[name=p]") // document.querySelector
element.SetValue("UWSC")
element = driver.FindElement("button[type=submit]")
element.Click()
要素取得
idがToolListのテキストを取得。
CALL UwscWebDriver.uws
driver = WebDriver.Chrome()
driver.Navigate("http://yahoo.co.jp")
PRINT driver.FindElement(By.id("ToolList")).getText() // element = document.getElementById("ToolList") element.innerText
新しいタブを操作
CALL UwscWebDriver.uws
DIM driver = WebDriver.Chrome()
driver.Navigate("http://google.com")
hFirst = driver.GetCurrentWindowHandle()
driver.Navigate("http://yahoo.co.jp", "SecondTab")
hSecond = driver.SwitchWindow("secondTab")
// driver.quit()
driver.SwitchWindow(hFirst)
driver.Navigate("http://example.com")
//////////////////////////////////////////////////
// 【引数】
// serial : 時間を表すシリアル値を指定
// 【戻り値】
//
//////////////////////////////////////////////////
FUNCTION Second(serial)
RESULT = REPLACE(FORMAT(INT(serial * 86400) MOD 60, 2), " ", "0")
FEND
FindElementで要素の取得
CALL UwscWebDriver.uws
DIM driver = WebDriver.Chrome()
driver.Navigate("http://yahoo.co.jp")
DIM elements, element
element = driver.FindElement(By.Id("ToolList")) // element = document.getElementById("ToolList")
elements = element.FindElements(By.Tag("li")) // elements = element.getElementsByTagName("li")
FOR element IN elements
PRINT element.getText() // element.innerText
NEXT
ショッピング
PayPayモール
ヤフオク!
PayPayフリマ
ZOZOTOWN
LOHACO
トラベル
一休.com
一休.comレストラン
出前館
ニュース
天気・災害
スポーツナビ
ファイナンス
テレビ
映画
GYAO!
LINE MUSIC
ゲーム
ebookjapan
占い
地図
路線情報
Retty
クラシル
スタンバイ
不動産
自動車
TRILL
mybest
要素をクリック(FOR-IN-NEXT)
CALL UwscWebDriver.uws
DIM driver = WebDriver.Chrome()
driver.Navigate("http://yahoo.co.jp")
DIM elements, element
element = driver.FindElement(By.Id("ToolList"))
elements = element.FindElements(By.Tag("li"))
FOR element IN elements
IF element.getText() = "ZOZOTOWN" THEN element.click()
NEXT
要素をクリック(配列)
CALL UwscWebDriver.uws
DIM driver = WebDriver.Chrome()
driver.Navigate("http://yahoo.co.jp")
DIM elements, element
element = driver.FindElement(By.Id("ToolList"))
elements = element.FindElements(By.Tag("li"))
elements[0].click()