0

数秒ごとに送信するオートクリッカー スクリプトがあります (1 秒あたり約 1 回)。テストしたところ、約 20 分間しか実行できず、その後応答しなくなることがわかりました。これを修正する唯一の方法は、数秒ごとにページを更新するスクリプトを作成することです。ただし、これを試してみると、更新時に自動クリックが試行され、応答しないエラーが発生するため、機能しませんでした: http://gyazo.com/cfc3d673573d725042e3acc7142a53b9

これを修正するために私が考えることができる唯一の方法は、クリックボタンが更新されるときに一時停止を追加するか、ドキュメントが完了するまで待機することです。それはうまくいくように思えましたが、私はそれを機能させることができませんでした... :\何か助けはありますか? それが役立つ場合は、スクリプトのソースを投稿することにしました。http://pastebin.com/4WMcn5Ln もっと投稿しますが、投稿できるリンクは 2 つだけです...

4

1 に答える 1

0

DocumentCompleted イベントで動作させる方法は次のとおりです。

Private Sub navBtnClick(sender As Object, e As EventArgs)
    Dim wbrowser = New WebBrowser()
    wbrowser.DocumentCompleted += New WebBrowserDocumentCompletedEventHandler(WebBrowser_DocumentCompleted)
    wbrowser.Navigate("http://www.somesite.com/login")
End Sub

Public Sub WebBrowser_DocumentCompleted(sender As Object, e As WebBrowserDocumentCompletedEventArgs)
    Dim webBrowser = TryCast(sender, WebBrowser)
    webBrowser.DocumentCompleted -= WebBrowser_DocumentCompleted
    'MessageBox.Show(webBrowser.Url.ToString())
    webBrowser.Document.GetElementById("login").SetAttribute("value", txtUsername.Text)
    webBrowser.Document.GetElementById("passwd").SetAttribute("value", txtPassword.Text)
    webBrowser.Document.GetElementById("SI").InvokeMember("Click")
End Sub

DocumentCompleted イベントは、移動先のドキュメントに他の Web ページを埋め込む iframe がある場合に複数回発生します。イベントを 1 回だけ受け取りたい場合は、上記で示したように DocumentCompleted ハンドラーからサブスクライブを解除するだけです。

于 2013-03-31T02:19:07.087 に答える