Ich automatisiere eine Website, um Login-Daten zu füllen. Ich habe diese App in vb6 entwickelt und das war sehr gut in Windows XP, 7 und 8. Jetzt gibt es Fehler in Windows 10. In Windows 10, wenn ich die exe direkt ausführen, füllen die Login-Daten nicht. (Ich bekomme "OnQuit gefeuert" Nachricht). Wenn ich die exe als Administrator ausführe funktioniert es jedoch einwandfrei. Diese ist der VB6-Code,Fehler in Webautomation mit vb6 in Windows 10
Private Sub Form_Load()
Set Web = New SHDocVw.InternetExplorer
Web.Visible = True
Web.Navigate "https://mytestingsite/login.html ", 8
End Sub
Private Sub Web_DocumentComplete(ByVal pDisp As Object, URL As Variant)
On Error GoTo aaa
'MsgBox " URL: " & URL
If URL = "https://mytestingsite/login.html" Then
Web.Document.getElementById("Login_userName").Value = "abcd"
Web.Document.getElementById("Login_userName").onchange
Web.Document.getElementById("Login_password").Value = "123456789"
Web.Document.getElementById("dateField").Value = "15/09/1954"
End If
Exit Sub
aaa:
MsgBox Err.Description & " URL: " & URL
End Sub
Private Sub Web_OnQuit()
MsgBox "OnQuit fired"
End Sub
Meine Frage ist, warum läuft als Administrator für einfache Web-Automatisierung erforderlich ist? Ist es nicht möglich, Anwendung in Standardbenutzer in Windows 10 auszuführen? Wie löst man dieses Problem?
Bitte schlagen Sie mich nicht Anwendung in .net neu zu erstellen (es viel Zeit in Anspruch nehmen wird meine Anwendung .net zu konvertieren)
upvoted Ihre Frage, da Windows 8.1 oder so viele VB6-basierte Anwendungen erfordern Erhebung aus irgendeinem Grund, Wegbeschreibungen oder Dokumentation auf das auch lieben. – Stavm
Nicht sicher, ob dies zutrifft oder nicht, aber es funktionierte für mich, wenn ich WebBrowser-Steuerelement verwendete - was im Grunde IE in einem Fenster ist. Unter Interneteinstellungen | Klicken Sie auf der Registerkarte Sicherheit auf Benutzerdefiniert und aktivieren Sie die Option "Skripterstellung für Microsoft Webbrowser-Steuerelement zulassen" – dbmitch
@dbmitch, die Lösung funktioniert nicht für mich. –