本文介紹了PowerShell-IE11-Apex-自動下拉選擇的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!
問題描述
我正在嘗試通過PowerShell自動執行使用Oracle Apex編寫的現有網站的一些任務。有一個州的下拉列表,當選擇一個州時,數據需要相應地更改。我可以選擇所需的狀態并成功激發";OnChange";事件,但它不會像手動選擇下拉選項那樣更改數據。請誰幫助我如何使用PowerShell獲得與手動選擇相同的結果。
這里是下拉框的示例。
<select id="All_STATE" name="All_STATE" class="selectlist apex-item-select" size="1" >
<option value="" selected="selected" >- Please Select -</option>
<option value="Texas">Texas</option>
<option value="Kansas">Kansas</option>
<option value="Michigan">Michigan</option>
</select>
以下是我嘗試使用的Powershell代碼
$statecontrol = $null
$statecontrol = $ie.document.IHTMLDocument3_getElementById("All_STATE")
($statecontrol | where {$_.value -eq "Texas"}).Selected = $true
$statecontrol.FireEvent("OnChange")
我在JavaScript下找到了這些函數,它們可能相關,但不能確定,我不知道APEX。我認為我不能在這里共享整個JavaScript,因為它是專有的。
function(){ apex.widget.selectList("#All_STATE",{`code here`});})();
function(){ apex.jQuery('#List').interactiveReport.interactiveReport({`code here`});})();
{"triggeringElementType":"ITEM","triggeringElement":"All_STATE","bindType":"bind","bindEventType":"change","anyActionsFireOnInit":false,actionList:`code here`
推薦答案
根據您的描述,我創建了一個簡單的示例來滿足您的需求,我認為您的問題主要是自動化頁面的加載情況,asimilar case。
這是我的測試,工作正常:
頁面代碼:
<select id="All_STATE" name="All_STATE" class="selectlist apex-item-select" size="1" onchange="myFunction()">
<option value="" selected="selected">- Please Select -</option>
<option value="Texas">Texas</option>
<option value="Kansas">Kansas</option>
<option value="Michigan">Michigan</option>
</select>
<script>
function myFunction() {
alert('some script code here');
}
</script>
Powershell代碼:
$ie = New-Object -ComObject internetexplorer.application
$ie.Visible = $true
$ie.Navigate("<your website url>")
While ($ie.Busy -eq $true) {Start-Sleep -Seconds 3;}
$statecontrol = $ie.document.IHTMLDocument3_getElementById("All_STATE")
($statecontrol | where {$_.value -eq "Texas"}).Selected = $true
$statecontrol.FireEvent("OnChange")
結果:
這篇關于PowerShell-IE11-Apex-自動下拉選擇的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,