実装について - 24000/ChromeControler-No-Selenium-WebDriver-VBAJSON GitHub Wiki
<説明>現在のURLを取得
<説明>現在のURLに含まれるクエリ文字列を辞書(key=パラメータ名, value=値)として取得
<説明>現在のURLに含まれるクエリ文字列からKeyを指定し値を取得
<戻り値>引数で指定されたkeyに対する値
<引数1>KeyName = 取得したいkey名を指定。
<説明>指定のURLを開く(自動でCompleteまで待機)
<引数1>url = 開きたいURLを指定。
<説明>JavaScriptコードの実行
<引数1>Script = 実行したいJavaScriptコードを指定。
※コード内の文字列は'(シングルクォート)で囲う必要あり
<説明>CDPMethodの直接実行
<戻り値>CDPメソッドの実行結果としてブラウザから返されるJSON文字列
<引数1>CDPMethodJson = 実行したいCDPメソッドのJSON文字列。
※JSON文字列内でパス指定する場合、\はエスケープして\\にする必要あり。
<説明>要素の取得(Id属性値で指定)
<戻り値>取得されたWebElement
<引数1>Id = 取得したい要素の「Id属性値」を指定
<説明>要素の取得(Xpathで指定)
<戻り値>取得されたWebElement
<引数1>xpath = 取得したい要素の 「完全なXpath」 「XPath」を指定
※2023/12/6 完全なXpath以外に通常のXpathにも対応
※注意:("//*[@id=""content""]/・・・") ←XPaht内の文字列は""で囲む
<説明>要素の取得(name属性で指定)
<戻り値>指定のname属性で取得される初めのWebElement
<引数1>name = 取得したい要素の「name属性」を指定
<説明>要素の存在確認(Xpathで指定)
<引数1>xpath = 存在を確認したい要素の 「完全なXpath」 「XPath」を指定
※2023/12/6 完全なXPath以外に通常のXPathにも対応
<説明>要素の存在確認(Id属性の値で指定)
<引数1>Id = 存在を確認したい要素の「Id」属性の値を指定
<説明>要素の存在確認(Name属性の値で指定)
<引数1>name = 存在を確認したい要素の「Name」属性の値を指定
<説明>要素の出現を最大指定秒数待つ(Xpathで指定)
<引数1>xpath = 出現を待ちたい要素の 「完全なXpath」 「xpath」を指定
※2023/12/6 完全なXPath以外に通常のXPathにも対応
<引数2>maxWaitTime_sec = 最大待機時間を秒で指定。
この秒数を過ぎるとエラーメッセージを表示し、強制終了。
<説明>要素の出現を最大指定秒数待つ(Idで指定)
<引数1>id = 出現を待ちたい要素の「Id」属性の値を指定
<引数2>maxWaitTime_sec = 最大待機時間を秒で指定。
この秒数を過ぎるとエラーメッセージを表示し、強制終了。
<説明>要素の出現を最大指定秒数待つ(nameで指定)
<引数1>name = 出現を待ちたい要素の「name」属性の値を指定
<引数2>maxWaitTime_sec = 最大待機時間を秒で指定。
この秒数を過ぎるとエラーメッセージを表示し、強制終了。
<説明>要素群の取得(tagNameで指定)
<戻り値>取得されたWebElements
<引数1>tagName= 取得したい要素群の「タグ名」を指定
<説明>要素群の取得(classNameで指定)
<戻り値>取得されたWebElements
<引数1>className= 取得したい要素群の「クラス名」を指定
<説明>要素群の取得(XPathで指定)
<戻り値>取得されたWebElements
<引数1>className= 取得したい要素群を対象とする「XPath」を指定
<説明>iframeの切り替え
<引数1>value = 切り替えたいフレームのName属性値 or URL or Index を指定。
※URLの指定はうまくいかないケースが多い。
<説明>アクセス可能なIframeのName,URL,Indexをイミディエイトに出力。
※SwitchFrameByNameOrURLOrIndexで指定できる内容を開発者が確認するためのメソッド。
表示される内容はChromeから取得される情報。
<説明>iframeの切り替え
<引数1>IframeElement = 切り替えたいフレームElement を指定。
<説明>デフォルトフレームへ切り替え
<説明>アラートダイアログのOKボタン押下。
<説明>指定ミリ秒数待つ
<引数1>milliSecond = 待機したい時間数をミリ秒で指定。
<説明>操作対象のタブを番号で指定し切り替え。
<引数1>Index = 操作対象としたいタブの番号を指定。(一番左のタブを1とする)
<説明>ブラウザをスクロールする
<引数1>yPixel = 縦方向にピクセル単位でスクロールしたい値を指定
<引数2>Optional xPixel = 横方向にピクセル単位でスクロールしたい値を指定(規定で0)
<説明>ウィンドウのサイズ変更(ノーマル、最小化、最大化)を行う
<引数1>size = 以下から操作の種類を指定(列挙体のため、Ctrl+Spaceでインテリセンスから選択可能)
normal :ウィンドウが最小化、最大化されている場合、元のサイズと位置に復元
minimize :ウィンドウの最小化
maximize :ウィンドウの最大化
<説明>ブラウザを閉じる
<説明>ブラウザバック
<説明>ブラウザフォワード
<説明>スクリーンショットを取得して画像ファイルとして保存。
<戻り値>保存した画像ファイルのフルパス(利便性のために戻しているだけなので、不要であれば受け取る必要なし)
<引数1>folderPath = 保存するフォルダパスを指定。(省略時はThisworkbook.Pathが適用)
<引数2>fileName = 保存するファイル名を指定。(省略時は「screenshot(IncrementNumber)」という名前が適用)
<引数3>Image = 以下から画像の種類を指定(列挙体のため、Ctrl+Spaceでインテリセンスから選択可能。省略時はpngが適用)
jpeg : .jpegで保存
png :.pngで保存
webp :.webpで保存
<説明>スクリーンショットを取得してワークシートに貼り付け。
<戻り値>貼り付けた画像のShapeオブジェクト。(利便性のために戻しているだけなので、不要であれば受け取る必要なし)
<引数1>left = 貼り付け位置をシートの上の左端からのポイントで指定。
<引数2>top = 貼り付け位置をシートの上の上端からのポイントで指定。
<引数3>width = 貼り付ける画像の幅をポイントで指定(省略時は元の画像の幅が適用)
<引数4>height = 貼り付ける画像の高さをポイントで指定(省略時は元の画像の高さが適用)
<引数5>sheetName = 貼り付けを行うシート名を指定。(省略時はActiveSheetが適用)
<引数6>ImageFromat = 以下から画像の種類を指定(列挙体のため、Ctrl+Spaceでインテリセンスから選択可能。省略時はpngが適用)
jpeg : .jpeg形式でスクリーンショット取得したものを貼り付け
png :.png形式でスクリーンショット取得したものを貼り付け
webp :.webp形式でスクリーンショット取得したものを貼り付け
<説明>暗号論的疑似乱数の生成
<戻り値>引数で指定した個数の乱数をもつCollectionオブジェクト
<引数1>count = 生成したい乱数の数を指定
<説明>暗号論的疑似乱数を元にランダム文字列を生成
<戻り値>引数で指定した文字数のランダム文字列
<引数1>charNum = 生成したいランダム文字列の文字数を指定
<説明>引数に与えた文字列をSHA256でハッシュ化し、さらにBase64URLエンコードした値を生成
<戻り値>引数に与えた文字列をSHA256でハッシュ化し、さらにBase64URLエンコードした値
<引数1>str = 処理対象の文字列
<説明>引数に与えた文字列をURIエンコードした値を生成
<戻り値>引数に与えた文字列をURIエンコードした値
<引数1>str = 処理対象の文字列
<説明>要素をクリック
名前が不適切なため、全く同一機能のSetValueを用意。そちらを使用してください。
<説明>要素のValue属性に文字を設定
<引数1>text = 設定したい文字列を指定
<説明>要素のValue属性に文字を設定
<引数1>value = 要素のvalue属性に設定したい文字列を指定
<説明>要素のTextContentに文字を設定
<引数1>text = 要素のTextContentに設定したい文字列を指定
<説明>要素のvalue属性に文字を設定(内部処理としてPropertySetter経由での設定)
※Reactで作成されたWebアプリのInputBoxが「SetValueメソッド(内部処理:Element.value = 値)」では動作しなかったため用意。
<引数1>value = 要素のvalue属性に設定したい文字列を指定
<説明>文字列指定でSelectBoxの選択肢を選択
<引数1>text = SelectBoxで選択したい選択肢の文字列を指定(完全一致)
<説明>要素のTextContentを取得
<戻り値>要素のTextContent
<説明>要素の属性値を取得
<引数1>AttributeName = 属性名を指定
<戻り値>指定された属性の値。(指定された属性が存在しない場合、""が戻る)
<説明>要素の属性値を設定
<引数1>AttributeName = 属性名を指定
<引数2>value = 引数1で指定した属性に対して設定する値を指定
<戻り値>指定された属性の値。(指定された属性が存在しない場合、""が戻る)
<説明>要素のclass属性を設定
<引数1>className = 要素に設定したいクラス名を指定
<説明>要素のプロパティ値を取得
<引数1>PropertyName = プロパティ名を指定
<戻り値>指定されたプロパティの値。(指定された属性が存在しない場合、""が戻る)
<説明>要素のプロパティ値を設定
<引数1>PropertyName = プロパティ名を指定
<引数2>value = 引数1で指定したプロパティに対して設定する値を指定
<戻り値>指定された属性の値。(指定された属性が存在しない場合、""が戻る)
<説明>SelectBoxの現在選択されている値(Value)を取得
<戻り値>SelectBoxの現在選択されている値(Value)
<説明>SelectBoxの現在選択されている値(TextContent)を取得
<戻り値>SelectBoxの現在選択されている値(TextContent)
<説明>要素の取得(Nameで指定)
<戻り値>指定されたName属性値で初めに取得されたWebElement
<引数1>tagName = 取得したい要素の「Nmae」属性の値を指定
<説明>要素群の取得(tag名で指定)
<戻り値>取得されたWebElements
<引数1>tagName = 取得したい要素群の「タグ名」を指定
<説明>ファイル選択ボタン(Input要素)でファイルを選択し設定する
<引数1>filePath = 設定したいファイルのフルパス
<説明>クリック後、制御を返さないダイアログが出現する場合に使用。
※制御を返すダイアログであれば、Clickメソッド後に、ChromeDriverのHandleAlertメソッドで処理可能。
それでは対応できない場合に使用。
クリック、ダイアログ処理を一つにまとめた処理。
<説明>要素にCromeDevtoolsProtocolのMouseEventを送信する。
<引数1>action = 以下から指定(列挙体のため、Ctrl+Spaceでインテリセンスから選択可能)
LeftClick_XY :要素が画面の中心に来るように画面スクロールし、要素の中心点のX,Y座標を左クリック
LeftDoubleClick_XY :LeftClick_XYのダブルクリックバージョン
RightClick_XY :要素が画面の中心に来るように画面スクロールし、要素の中心点のX,Y座標を右クリック
ScrollToThisElement :要素が画面の中心に来るように画面スクロールのみ行う。
<引数2>optional point = クリック箇所を以下から指定(列挙体のため、Ctrl+Spaceでインテリセンスから選択可能)
(規定値:Center)
Center :要素の幅、高さの中心
TopLeft :要素の左上
TopRight :要素の右上
BottomLeft :要素の左下
BottomRight :要素の右下
<説明>要素にJavaScriptのInputイベントを送信する。
<説明>要素にJavaScriptのChangeイベントを送信する。
<説明>要素にJavaScriptのFocusイベントを送信する。
<説明>要素にJavaScriptのMouseイベントを送信する。
<引数1>action = 以下から操作の種類を指定(列挙体のため、Ctrl+Spaceでインテリセンスから選択可能)
LeftClick :要素にJavascriptのMouseEvnet('click')を送信
LeftDoubleClick :要素にJavascriptのMouseEvnet('dblclick')を送信
LeftDown :要素にJavascriptのMouseEvnet('down')を送信
LeftPress :要素にJavascriptのMouseEvnet('press')を送信
Leftup :要素にJavascriptのMouseEvnet('up')を送信
Enter :要素にJavascriptのMouseEvnet('enter')を送信
Leave :要素にJavascriptのMouseEvnet('leave')を送信
Move :要素にJavascriptのMouseEvnet('move')を送信
Over :要素にJavascriptのMouseEvnet('over')を送信
Out :要素にJavascriptのMouseEvnet('out')イベントを送信
<説明>要素にJavaScriptのKeyboardイベントを送信する。
<引数1>action = 以下から操作の種類を指定(列挙体のため、Ctrl+Spaceでインテリセンスから選択可能)
KeyDown :要素にJavascriptのKeyboardEvnet('down')を送信
KeyPress :要素にJavascriptのKeyboardEvnet('press')を送信
Keyup :要素にJavascriptのKeyboardEvnet('up')を送信
<引数2>key = 以下から送りたいKeyを指定(列挙体のため、Ctrl+Spaceでインテリセンスから選択可能)
Tab_Key , Enter_Key , shift_Key , Control_Key , Alt_Key ,
Escape_Key , Space_Key , PageUp_Key , PageDown_Key ,
ArrowLeft_Key , ArrowUp_Key , ArrowRight_Key , ArrowDown_Key ,
PrintScreen_Key , Delete_Key ,
Digit0 , Digit1 , Digit2 , Digit3 , Digit4 ,
Digit5 , Digit6 , Digit7 , Digit8 , Digit9 ,
KeyA , KeyB , KeyC , KeyD , KeyE , KeyF , KeyG ,
KeyH , KeyI , KeyJ , KeyK , KeyL , KeyM , KeyN , KeyO ,
KeyP , KeyQ , KeyR , KeyS , KeyT , KeyU , KeyV , KeyW , KeyX , KeyY , KeyZ
<引数3>alt = alt同時押しの指定
<引数4>shift = Shift同時押しの指定
<引数5>ctrl = ctrl同時押しの指定
<説明>チェックボックスのチェック状態の取得、設定。
<説明>要素が有効か無効かをBoolで取得。
<説明>要素数を返す
<戻り値>要素数
<説明>指定したIndexの要素を返す
<戻り値>Indexで指定された要素
<引数1>要素のIndex(0始まり)