0
私はドロップダウン選択を自動化できる自動ホットキースクリプトを作成中です。私は何が起こっているのか分からないが、それは失敗しているようだ。私は、デフォルト値を追加するだけで情報を読み取るためのさまざまな方法を試しましたが、それでもドロップダウンボックスの値は変更されません。autohotkeyドロップダウン選択がウェブサイトで動作しない
ここはコードの始まりです。
url:= "first page"
URLElegibility := "Second Page"
counter := 0
Sleep 9000
; create ie instance
ie := ComObjCreate("InternetExplorer.Application")
ie.Visible := true ; This is known to work incorrectly on IE7.
loginHL(url) ;login to the website
Sleep 2000
SigningIn() ;Sign into site
loginHL(URLElegibility) ; log into second site this just pushes the site to go to a second link
selectObj := ie.document.getElementById("payerDropDown").options
Sleep 2500
selectItem := "bad"
While !(InStr(selectItem,"Value to Get")) ;
{
index := A_Index
selectItem := selectObj[A_Index].text
MsgBox "Error is here it goes on a infinite loop trying to find the value to get"
}
index := selectObj[index].value
ie.document.getElementById("payerDropDown").value := index
次に、これらの方法を試してみてください。
MsgBox "Slelected value"
ie.document.getElementById("payerDropDown").focus()
ie.document.getElementById("payerDropDown").value := 4
ie.document.getElementById("payerDropDown").value = 4
Sleep 2500
MsgBox "Slelected index"
ie.document.getElementById("payerDropDown").focus()
ie.document.getElementById("payerDropDown").selectedIndex = 1
ie.document.getElementById("payerDropDown").selectedIndex := 4
Sleep 2500
ここで間違っていることはわかりません。私はチュートリアルを見ており、これはうまくいくはずです。誰かが私が逃していることや間違っていることについてアドバイスをしていますか?
なぜ 'A_Index'を' Loop'なしで使用しているのかはわかりません。あなたのwhile条件は決して 'true'と評価されないので、無限ループをしているように見えます。あなたの例は不完全なので、誰でもあなたが描いている問題を再現することは不可能です。おそらく 'ComObjConnect'や他の方法で接続していますか?そして、おそらくあなたがアクセスしようとしているHTMLに問題があります。 [最小限で完全で検証可能なサンプルを作成する方法](https://stackoverflow.com/help/mcve)を参照してください。 –
Iコードに開始と終了を追加しました。 A_Indexは、私がそれを使用する理由である形式で選択ドロップダウンリストのために以前から使用されてきました。ドロップダウンからselectItemが必要なテキストと等しくなると、while条件がtrueになります。私はその後、インデックスを使用してそのインデックスに切り替えます。 –
'A_Index'は[Loop](https://autohotkey.com/docs/commands/Loop.htm)内でのみ動作します。あなたは 'loop'を持っていないので、' A_Index'を使うことはできません。 –