IESETDATAアイイーセットデータ関数

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

Web上に値を設定することができます。第一引数にInternetExplorerオブジェクト、第二引数に設定する値、第三引数に値を設定するエレメントのNameもしくはタグ名を記述します。

構文
  1. Boolean = IESETDATA( IE, 値, Name, Value, 番号 )
引数
IE (Object)必須
IEオブジェクト
値 (Integer)必須
設定する値
Name (String)必須
値取得するエレメントのNameもしくはタグ名を記述:"TAG=タグ名"
Value (String)省略可
ラジオボタン等で Nameが共通の場合に Valueを指定する
Nameにてタグ名が指定された場合は、そのタグにての順番を指定
番号 (Integer)省略可
Name, Value が同じ場合に順番指定
戻り値
TRUE
正常
FALSE
処理不能

第三引数にタグ名が指定された場合、第四引数には数字(順番)以外では"ID=xxx"、"innerHTML=xxx"、"innerText=xxx" の指定が可

第三引数に"TAG=IMG"が指定された場合には、第四引数には画像のパスの指定が可

DOMでの書き方

要素に値を代入するときは element.value = 値 、クリックするときは element.click() と記述します。

Itemの引数は0以上element.length-1以下の値です。

getElementsByTagName

Document.IESETDATA (DOM)は指定したname属性を持つ要素を取得。

HTML
<input name="content"></input>
UWSC
IESETDATA(IE, 値, "content", "", 番号)
UWSC
DIM elements = IE.document.getElementsByName("content")
elements.Item(番号 - 1).innerText = 値

getElementById

Document.getElementById メソッド (DOM)は指定したid属性を持つ要素を取得。

id属性はページに一つしかないので番号は省略。

HTML
<input id="content"></input>
UWSC
IESETDATA(IE, 値, "", "id=content")
UWSC
DIM element = IE.document.getElementById("content")
element.value = 値

getElementsByClassName

Document.getElementsByClassName メソッド (DOM)は指定したクラス名を取得する。

HTML
<input class="content"></input>
UWSC
IESETDATA(IE, 値, "class=content", 番号)
UWSC
DIM elements = IE.document.getElementsByClassName("content")
elements.Item(番号 - 1).value = 値

要素を特定するその他の方法

画像(imgタグ)

画像名(src属性)
HTML
<img decoding="async" src="login.glf" />
UWSC
IESETDATA(IE, TRUE, "TAG=img", "login.gif")
alt属性のある画像
HTML
<img decoding="async" src="login.glf" alt="ログイン">
UWSC
IESETDATA(IE, TRUE, "", "alt=ログイン")

ログインフォーム入力例

ロボット認証などがなくフォームの入力だけでログインできる場合は、IE.Navigate メソッドにPostData引数を指定することでもログインできます。

HTML
<form action="" method="post">
	<span>E-mail</span>
	<input type="text" name="mail" />
	<span>パスワード</span>
	<input type="password" name="ps" />
	<input type="image" src="picture/login.gif" value="submit" alt="ログイン" />
</form>
UWSC
IESETDATA(IE, "mailaddress", "mail") // E-mail
IESETDATA(IE, "password", "ps") // パスワード
IESETDATA(IE, TRUE, "", "submit") // ログインボタン
HTML
<form action="" method="post">
	<input type="text" name="mail" />
	<input type="password" name="pass" />
	<input type="checkbox" id="autologin" name="autologin" value="y" checked="" />
<label for="autologin">次回から自動的にログイン</label>
	<button type="submit">ログイン</button>
</form>
UWSC
IESETDATA(IE, "メールアドレス", "mail")
IESETDATA(IE, "パスワード", "pass")
IESETDATA(IE, TRUE, "y")
IE.document.forms[0].submit()
IE.document.formsは、0以上IE.documant.forms.length-1以下の数値を指定。
HTML
<form action="" method="post">
	<dl>
		<dt>メールアドレス</dt>
		<dd><input type="email" name="mailadr" id="mailadr" /></dd>
		<dt>パスワード</dt>
		<dd><input type="password" name="passwd" id="passwd" /></dd>
	</dl>
	<input type="checkbox" name="rem" value="1" />
	<span>パスワードを記憶する(次回から入力不要)</span>
	<input type="submit" value="ログインする" />
</form>
UWSC
IESETDATA(IE, "メールアドレス", "mailadr")
IESETDATA(IE, "パスワード", "passwd")
IESETDATA(IE, TRUE, "rem")
IESETDATA(IE, TRUE, "login", "ログイン", 2)

プログラム実行例

Googleでの検索結果を取得

UWSC
DIM IE = CREATEOLEOBJ("InternetExplorer.Application")
IE.Visible = TRUE
IE.Navigate("http://google.com")
BusyWait(IE)

IESETDATA(IE, INPUT("検索ワードを入力"), "q")
IESETDATA(IE, TRUE, "btnK")
BusyWait(IE)

DIM elements = IE.document.getElementsByClassName("rc")

FOR element IN elements
	PRINT element.getElementsByClassName("LC20lb").Item(0).textContent
	PRINT element.getElementsByClassName("s").Item(0).textContent
	PRINT "----------"
NEXT

IE.Quit
使用関数

楽天PointClubでランクと保有ポイント数を取得する

UWSC
DIM IE = CREATEOLEOBJ("InternetExplorer.Application")
IE.Visible = TRUE
IE.Navigate("https://point.rakuten.co.jp/")
BusyWait(IE)

DIM elements

// ログインする
elements = IE.document.getElementsByClassName("name")

IFB elements.length = 0 THEN
	IELINK(IE, "ログイン")
	BusyWait(IE)
	IESETDATA(IE, READINI("楽天", "ID", "楽天.INI"), "u")		// ユーザID
	IESETDATA(IE, READINI("楽天", "PASS", "楽天.INI"), "p")		// パスワード
	IESETDATA(IE, TRUE, "submit")								// ログイン
	BusyWait(IE)
ENDIF

// ランク
elements = IE.document.getElementsByClassName("rank")
elements = elements.Item(0).getElementsByTagName("em")
PRINT elements.Item(0).innerText

// ポイント
elements = IE.document.getElementsByClassName("point-total")
elements = elements.Item(0).getElementsByTagName("dd")
PRINT elements.Item(0).innerText

IE.Quit
[syntaxHighlight language="HTML"]
あなたは ゴールド会員 です
総保有ポイント
559
[/syntaxHighlight] [syntaxHighlight language="INI" title="楽天.INI"][楽天] ID=info@example.com PASS=*** [/syntaxHighlight]
結果
プレーンテキスト
ゴールド会員
559
使用関数

関連記事

IEGETFRAME関数 (スクリプト関数)
BusyWait関数 (自作関数)
IEオブジェクトの読み込みが完了するのを待ちます。
getIEObj関数 (自作関数)
引数に指定したタイトルまたはURLを含むIEオブジェクトを返します。戻り値はInternetExplorerオブジェクトです。
IE.ExecWB メソッド
コマンドを実行します。
IE.GoForward メソッド
履歴リストの1つ後の項目に移動します。
IE.Navigate メソッド
URLまたは絶対パスで指定されたファイルを開きます。
IE.Refresh2 メソッド
指定されたリフレッシュレベルで現在表示されているファイルを再読み込みします。
IE.Stop メソッド
読込中のWebページやダウンロードのキャンセル、BGMやアニメーションの動的要素を停止します。
IE.Document プロパティ
ドキュメントオブジェクトを取得
IE.Left プロパティ
オブジェクトの左端の座標を取得または設定します。