VB.net - Как получить адрес ссылки кнопки с веб-сайта, открытого в веб-браузере - PullRequest
0 голосов
/ 08 мая 2018

У меня есть приложение, которое будет использовать автообновление для самостоятельного обновления при каждом запуске нового обновления. я попытался Dropbox, чтобы загрузить текстовый файл, который содержит последнюю версию программы, но я не смог скачать ее, так как API Dropbox использует c #, поэтому я переключился на mediafire, он дает мне ссылку на текстовый файл, который я хочу скачать Эта ссылка , поэтому Я скопировал адрес кнопки и поместил его в My.network.downloadfile(ButtonAddress), но ссылка на кнопку является только tomporaire, поэтому ссылка будет создаваться каждый раз, поэтому я попытался создать веб-браузер в своей форме и перейти к ссылке на файл Эта ссылка , тогда я хотел скопировать адрес ссылки кнопки из веб-браузера, но я не мог выяснить, как это сделать, вы можете мне помочь, это пример моего кода:

Private Sub Button7_Click(sender As Object, e As EventArgs) Handles Button7.Click
        ProgressBar1.Style = ProgressBarStyle.Marquee


    Dim path As String = My.Application.Info.DirectoryPath
    Dim fpath As String = path + "\version.txt"

    If File.Exists(fpath) Then
        File.Delete(fpath)
        My.Computer.Network.DownloadFile("http://download1235.mediafire.com/p79jzw7sputg/pvkpwixgsi13q2w/pchotspotmanagerversion.txt", fpath, "", "", True, 500, True)
    Else
        My.Computer.Network.DownloadFile("http://download1235.mediafire.com/p79jzw7sputg/pvkpwixgsi13q2w/pchotspotmanagerversion.txt", fpath, "", "", True, 500, True)
    End If
    If Application.ProductVersion = File.ReadAllText(fpath) Then
        MsgBox("up to date ^^")
        File.Delete(fpath)
        ProgressBar1.Style = ProgressBarStyle.Blocks
        ProgressBar1.Value = 0
    Else
        Dim result As Integer = MessageBox.Show("Update Are Available" & vbCrLf & "Download ?", "Auto Updater", MessageBoxButtons.YesNo)
        If result = DialogResult.No Then
            ProgressBar1.Style = ProgressBarStyle.Blocks
            ProgressBar1.Value = 0
            PictureBox2.Visible = False
        ElseIf result = DialogResult.Yes Then
            PictureBox2.Visible = True
            ProgressBar1.Style = ProgressBarStyle.Blocks
            ProgressBar1.Value = 0
            Label4.Text = Application.ProductVersion
            Label6.Text = File.ReadAllText(fpath)
        End If
    End If
End Sub

Если вы не знаете, как этого добиться, вы можете сказать мне, как получить адрес ссылки на кнопку из веб-браузера, я попробовал этот код, но он нажимает только кнопку, но не получает ссылку theButton = WebBrowser1.Document.GetElementById("download_link") я могу сделать это вручную через веб-браузер, нажав левую кнопку мыши на кнопке загрузки, нажмите «Свойства» и найдите его, но как это сделать с помощью кода, здесь мой код, чтобы нажать кнопку, которую я нашел на этом сайте, кстати:

   Private Function ClickSubmitButton()

    Dim theButton As HtmlElement

    Try

        ' Link the ID from the web form to the Button var
        theButton = WebBrowser1.Document.GetElementById("download_link")

        ' Now do the actual click.
        theButton.InvokeMember("click")
        Return True

    Catch ex As Exception

        Return False

    End Try

End Function

Private Sub Button6_Click(sender As Object, e As EventArgs) Handles Button6.Click
    ClickSubmitButton()
End Sub

Заранее спасибо ^^

...