gpt4 book ai didi

vb.net webbrowser documentcompleted 事件 - 页面未加载

转载 作者:行者123 更新时间:2023-12-04 03:05:38 25 4
gpt4 key购买 nike

我搜索了有关 WebBrowser DocumentCompleted 事件的其他问题,但似乎没有人遇到我遇到的确切问题。

我正在尝试在航空公司网站上自动搜索航类。除了日期部分外,我使用的第一个 url 每次都是相同的,因此很容易让 WebBrowser 通过组合字符串来访问 URL。但是,该页面是一个免责声明页面,其中有一个“继续”按钮,需要在显示价格之前单击该按钮。如果我在表单上使用一系列按钮,我可以通过单击 button1 到达第一个 URL,然后通过单击 button2 来单击继续按钮。它工作正常。

但是,我想消除单击 button2 的需要,因此尝试使用 WebBrowser DocumentCompleted 事件。我遇到的问题是第一页似乎从未在网络浏览器中完全加载,因此从未单击过该按钮。

这是我用于两个按钮和 DocumentCompleted 事件的代码

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

TextBox1.Text = fullURL
WebBrowser1.Navigate(fullURL)

End Sub


Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

Dim allElements As HtmlElementCollection = WebBrowser1.Document.All

For Each webpageelement As HtmlElement In allElements

If webpageelement.GetAttribute("src") = proceedbuttonattribute Then

webpageelement.InvokeMember("click")

End If

Next

End Sub

Private Sub WebBrowser1_DocumentCompleted(ByVal sender As System.Object, ByVal e As System.Windows.Forms.WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted

If TextBox1.Text.StartsWith(firstURL) = True Then 'make sure that button is only clicked after first webpage loads

Dim allElements As HtmlElementCollection = WebBrowser1.Document.All

'Click 'Proceed to Booking' button
For Each webpageelement As HtmlElement In allElements

If webpageelement.GetAttribute("src") = proceedbuttonattribute Then

webpageelement.InvokeMember("click")

End If

Next

End If

End Sub

谢谢!

最佳答案

WebBrowser1.Navigate(fullURL)
Do While wb.ReadyState <> WebBrowserReadyState.Complete
Application.DoEvents()

Loop

;)

关于vb.net webbrowser documentcompleted 事件 - 页面未加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12389428/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com