1

ここでの私の目標は、ユーザーが 3 つの異なるページを通過したり、あらゆる種類のボタンをクリックしたりすることなく、必要なページにアクセスできるようにすることです。このウェブサイトで、 http://www.cra-arc.gc.ca/esrvc-srvce/tx/bsnss/gsthstrgstry/menu-fra.htmlウェブサイトでそれを行う方法を見つけることができました。今、私はこのウェブサイトで試しています:http://www.revenuquebec.ca/fr/sepf/services/sgp_validation_tvq/default.aspxしかし、2番目のウェブサイトではボタンが同じようにコーディングされていないので、私のスクリプトそれでは動作せず、動作するようにスクリプトを適応させる方法がわかりません

これが私が持っているスクリプトで、最初のリンクで完全に機能します

Call test
Sub test()
With CreateObject("InternetExplorer.Application")

    .Visible = True
    .Navigate "http://www.cra-arc.gc.ca/esrvc-srvce/tx/bsnss/gsthstrgstry/menu-fra.html"

    Do While .Busy Or .readyState <> 4
        WScript.Sleep 50
    Loop

    Set oInputs = .Document.getElementsByTagName("input")

    For Each elm In oInputs
        If elm.Value = "J'accepte" Then
            elm.Click
            Exit For
        End If
    Next

    Do While .Busy Or .readyState <> 4
        WScript.Sleep 50
    Loop
End With
End Sub

違いは次のとおりです。

最初のサイト: 「値 = J'accepte」を使用

2 番目のサイト : "title="Accès au service"、class="bouton_acces_fr"、および href="javascript:SoumettreParam('S00047','F')" を使用

そのため、スクリプトでは「J'accepte」を使用してWebサイトでクリックをトリガーしますが、2番目の「値」には存在せず、ボタンの「id」が表示されますありがとうございます!

4

1 に答える 1

0

しかし、2番目の「値」には存在せず、ボタンの「id」が表示されます

If elm.Value <> "J'accepte" Then
   elm.Click

最も簡単な解決策になります。

于 2013-10-10T01:58:05.427 に答える