脱ExcelVBA !PHP で「SPAT4自動投票 システム」を作ってみました(その2:入金処理)
前回その1:キホンの「キ」 の続き。
今日からは3回に分けて
「入金」「投票」「照会」を書いていきます。
当然のことながら
その1でちゃんと動いていないと意味はありません。
---
流れは非常に簡単。
メインの画面から
1:「入金」ボタンを押す→子ウインドウが出てくる
2:子ウインドウで入金額を入力して「入金指示確認」ボタンを押す
3:暗証番号を入力して「入金指示」ボタンを押す
4:子ウインドウを閉じる
で終わり。
特に変わったことも珍しいこともしてません。
前回同様、シングルクオーテーション(’)はすべて全角にしてますんで
半角に置換してくださいね。
---
関数のスタート
・暗証番号と入金額は引数でもらう(前回の最後のコード部分)
・関数全体をtry{ }catch(){ }で囲っておく
→途中でエラーになってもメインの処理へ戻すため
・暗証番号と入金額は引数なのに、driverはglobalなの?
引数もglobalにするか、driverも引数にするか、どっちかにすれば?
→うるせえ
1:「入金」ボタンを押す→子ウインドウが出てくる
この時点で入金用の子ウインドウが立ち上がる。
2:子ウインドウで入金額を入力して「入金指示確認」ボタンを押す
3:暗証番号を入力して「入金指示」ボタンを押す
もしかしたら(環境によっては)この後にsleep(2)とかsleep(5)を入れて
少し待機したほうがいい場合もあるかも。
4:子ウインドウを閉じる
あとしまつ
---
まあこんな感じです。
次回は(いつかは分かりませんが)「投票」の関数の中身を。
今日からは3回に分けて
「入金」「投票」「照会」を書いていきます。
当然のことながら
その1でちゃんと動いていないと意味はありません。
---
流れは非常に簡単。
メインの画面から
1:「入金」ボタンを押す→子ウインドウが出てくる
2:子ウインドウで入金額を入力して「入金指示確認」ボタンを押す
3:暗証番号を入力して「入金指示」ボタンを押す
4:子ウインドウを閉じる
で終わり。
特に変わったことも珍しいこともしてません。
前回同様、シングルクオーテーション(’)はすべて全角にしてますんで
半角に置換してくださいね。
---
関数のスタート
// ****************************************
// 入金処理 go_deposit
// ****************************************
// 引数
// userPass: 暗証番号
// amountDepo: 入金金額(プログラムの第5引数)
function go_deposit($userPass, $amountDepo) {
try {
global $driver;・暗証番号と入金額は引数でもらう(前回の最後のコード部分)
・関数全体をtry{ }catch(){ }で囲っておく
→途中でエラーになってもメインの処理へ戻すため
・暗証番号と入金額は引数なのに、driverはglobalなの?
引数もglobalにするか、driverも引数にするか、どっちかにすれば?
→うるせえ
1:「入金」ボタンを押す→子ウインドウが出てくる
// 今のウインドウを覚えておく(あとで子ウインドウを閉じた後に使う)
$parentWindow = $driver->getWindowHandle();
// 「入金」ボタンをクリック
$driver->findElement(WebDriverBy::xpath("//input[@value=’入金’]"))->click();この時点で入金用の子ウインドウが立ち上がる。
2:子ウインドウで入金額を入力して「入金指示確認」ボタンを押す
// 制御を入金の子ウインドウ(名前「spat4_Nyukin」)にうつす
$driver->switchTo()->window(’spat4_Nyukin’);
// 金額を入力
$driver->findElement(WebDriverBy::name(’ENTERR’))->sendKeys($amountDepo);
$driver->findElement(WebDriverBy::id(’nyukinForm’))->submit();3:暗証番号を入力して「入金指示」ボタンを押す
// 暗証番号を入力
$driver->findElement(WebDriverBy::id(’MEMBERPASSR’))->sendKeys($userPass);
$driver->findElement(WebDriverBy::name(’EXEC’))->click();もしかしたら(環境によっては)この後にsleep(2)とかsleep(5)を入れて
少し待機したほうがいい場合もあるかも。
4:子ウインドウを閉じる
// 子ウインドウを閉じる
$driver->close();
// 親ウインドウに戻る
$driver->switchTo()->window($parentWindow);あとしまつ
// 入金処理おわり
} catch(Exception $e) {
}
return; // 書かなくてもいい
}---
まあこんな感じです。
次回は(いつかは分かりませんが)「投票」の関数の中身を。
このネタへのコメント:
コメントはありません。
原付生活(3)