driverオブジェクト

本ページには広告が含まれています。

モジュールのバージョンによって使える関数と使えない関数があります。バージョンはUwscWebDriver.uwsの最初の方に以下のように書いてあります。

UWSC
Const UWSCWEBDRIVER_MODULE_VERSION = 0.8.9

GetSession

現在のwebdriverセッション情報を取得します。

UWSC
string = driver.GetSession()

GetBrowserName

ブラウザの名前を返します。Chromeは「chrome」、ChromiumEdgeは「msedge」、Firefoxは「firefox」を返します。

UWSC
string = driver.GetBrowserName()

GetBrowserVersion

ブラウザのバージョンを返します。

UWSC
string = driver.GetBrowserVersion()

UWSC
DIM driver = WebDriver.Chrome()
PRINT driver.GetBrowserVersion()
結果
プレーンテキスト
105.0.5195.127

Navigate

urlに指定したURLを開きます。

UWSC
void = driver.Navigate(url, [target])
url
開くページのURL
target(省略可)
値を指定した場合、別タブで開きその値をウィンドウ名として使うことができます。SwitchWindowの引数にウィンドウ名を指定することで操作することができます。

新しく開いたタブのタイトルとURLを取得する。

UWSC
DIM driver = WebDriver.Chrome()

WITH driver
	.Navigate("http://example.com", "tab")
	.SwitchWindow("tab")
	PRINT .GetTitle()
	PRINT .GetUrl()
	.Close()
ENDWITH

Reload

Webページをリロード(再読み込み)します。

UWSC
void = driver.Reload()

SwitchWindow

操作するウィンドウ(タブ)を切り替えます。

UWSC
handle = driver.SwitchWindow(handleOrName)
handleOrName
ハンドル名またはウィンドウ名

SwitchFrame

UWSC
Boolean = driver.SwitchFrame(id)
id

GetCurrentWindowHandle

現在のウィンドウのハンドルを返します。操作対象を切り替えるにはSwitchWindowを使います。

UWSC
handle = driver.GetCurrentWindowHandle()

GetWindowHandles

制御可能なウィンドウのハンドルを列挙します。

UWSC
SafeArray = driver.GetWindowHandles()

UWSC
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を取得します。

UWSC
string = driver.GetUrl()

GetTitle

現在のページのタイトルを取得します。

UWSC
string = driver.GetTitle()

GetSource

現在のページのHTMLソースを取得します。

UWSC
string = driver.GetSource()

UWSC
DIM driver = WebDriver.Chrome()

WITH driver
	.Navigate("http://example.com")
	PRINT .GetSource()
ENDWITH

FindElement

CSSセレクタを指定してelementオブジェクトを取得します。

UWSC
element = driver.FindElement(selector)
selector
CSSセレクタを指定。Byモジュールの利用が可能

FindElements

CSSセレクタを指定して複数のelementオブジェクトを取得します。

UWSC
elements = driver.FindElements(selector)
selector
CSSセレクタを指定。Byモジュールの利用が可能

FindElementsByName

name属性を使用して複数のelementオブジェクトを取得します。

UWSC
elements = driver.FindElementsByName(name)
name
name属性

FindElementByXPath

xpathを指定してelementオブジェクトを取得します。

UWSC
element = driver.FindElementByXPath(xpath)
xpath
xpath属性

FindElementsByXPath

xpathを指定して複数のelementオブジェクトを取得します。

UWSC
elements = driver.FindElementsByXPath(xpath)
xpath
xpath属性

ExecuteScript

任意のJavaScriptを実行させます。

UWSC
return = driver.ExecuteScript(script, [args])
script
args

GetDialogText

UWSC
string = driver.GetDialogText()

SetDialogText

UWSC
void = driver.SetDialogText(value)
value

AcceptDialog

UWSC
void = driver.AcceptDialog()

DismissDialog

UWSC
void = driver.DismissDialog()

GetRect

ブラウザのサイズと座標を取得します。

UWSC
Rect = driver.GetRect()

SetRect

ブラウザのサイズと座標を設定します。

UWSC
Rect = driver.SetRect(width, height, x, y)
width
height
x
y

Maximize

ブラウザを最大化します。

UWSC
Rect = driver.Maximize()

Minimize

ブラウザを最小化します。

UWSC
Rect = driver.Minimize()

Fullscreen

ブラウザをフルスクリーン表示にします。

UWSC
Rect = driver.Fullscreen()

Close

セッションを終了しブラウザを閉じます。

UWSC
void = driver.Close()

プログラム実行例

Yahoo!検索

UWSC
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のテキストを取得。

UWSC
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
使用関数

新しいタブを操作

UWSC
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で要素の取得

UWSC
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)

UWSC
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
使用関数

要素をクリック(配列)

UWSC
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()
使用関数

参考文献

  1. https://github.com/stuncloud/UwscWebDriver/wiki/driver%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88
  2. https://github-wiki-see.page/m/stuncloud/UwscWebDriver/wiki/driver%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88#ExecuteScript