0

这是我在这个网站上的第一个问题,所以如果我错过了任何重要的细节,请告诉我,并提前感谢。

我被要求访问一个网站并从用户输入的表格中下载结果。该网站要求输入用户名/密码,一旦被接受,就会出现几个用于生成多个答案的问题。

因为我不熟悉这个领域,所以我设置了一个简单的窗口表单来修补网站并尝试收集东西。我使用了一个 webbrowser 控件和一个按钮来使用它来查看有问题的网站。

当我尝试通过控件查看网站时,我只是收到脚本错误并且没有加载任何内容。我猜我的表单上缺少某些 IE 可以无错误处理的插件。无论如何我可以确定这些是什么并弄清楚下一步该怎么做?我难住了。

脚本错误是:“预期的标识符、字符串或数字”和“属性 'setsection' 的值为 null 或未定义”

两者都询问我是否要继续在页面上运行脚本。但它在 IE 中有效,我不明白为什么我的控制如此不同。它实际上要求一个可以正常工作的用户名和密码,这是错误的下一步。

如果需要,我可以提供网站源 html 的屏幕截图或摘录。

谢谢,

Fwiw 我的代码是:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    'WebBrowser1.ScriptErrorsSuppressed = True
    WebBrowser1.Navigate("http://website.com")
    'WebBrowser1.Navigate("http://www.google.com")
End Sub
4

1 回答 1

0

感谢 Noseratio,我已经设法做到了这一点。

尽管我得到的错误似乎与某些 XML/Java/任何功能出现问题有关,但实际上是因为我的 webbrowser 控件使用的是 ie 7.0

我强迫它使用ie 9,现在一切都很好。所以,使用我上面的例子,我基本上做了这样的事情:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    'WebBrowser1.ScriptErrorsSuppressed = True
    BrowserUpdate()
    WebBrowser1.Navigate("http://website.com")
    'WebBrowser1.Navigate("http://www.google.com")
End Sub

Sub BrowserUpdate()
        Try

            Dim IEVAlue As String = 9000 ' can be: 9999 , 9000, 8888, 8000, 7000    
            Dim targetApplication As String = Process.GetCurrentProcess.ToString & ".exe"
            Dim localMachine As Microsoft.Win32.RegistryKey = Microsoft.Win32.Registry.LocalMachine
            Dim parentKeyLocation As String = "SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl"
            Dim keyName As String = "FEATURE_BROWSER_EMULATION"
            Dim subKey As Microsoft.Win32.RegistryKey = localMachine.CreateSubKey(parentKeyLocation & "\" & keyName)
            subKey.SetValue(targetApplication, IEVAlue, Microsoft.Win32.RegistryValueKind.DWord)

        Catch ex As Exception
            'Blah blah here
        End Try

    End Sub
于 2013-08-29T13:38:14.593 回答