返回列表 上一主題 發帖

[發問] 用Selenium 抓上市行情即時資料 ???

回復 35# singo1232001


    此檔 seleniumdownload v9.zip->seleniumdownload v9.xlsm
   被 windows defender 檢出威脅 Trojan:O97M/Sadoca.C!ml
    請確認。

    謝謝

TOP

回復 46# singo1232001

謝謝確認測試與指引

TOP

回復 46# singo1232001

  請問大大,
    ChromeDriver 自115.0版 起, 期更新已不放在
          https://chromedriver.storage.googleapis.com/LATEST_RELEASE_
    而放在
          https://googlechromelabs.github.io/chrome-for-testing/#stable

   46樓的  程式該如何修飾:
Sub updataSelenium()  '自動更新selenium
   .........................
    Url = "https://chromedriver.storage.googleapis.com/LATEST_RELEASE_" & dotsarr(0)
Call objHttp.Open("GET", Url, False)
Call objHttp.Send("")
version_number = objHttp.responseText
dotsarr3 = Split(version_number, ".")
leftversion_no = dotsarr3(0) & dotsarr3(1)
download_url = "https://chromedriver.storage.googleapis.com/" + version_number + "/chromedriver_win32.zip"
   
    Call objHttp.Open("GET", download_url, False)
    Call objHttp.Send("")
        

        Set fileStream = CreateObject("ADODB.Stream")
        With fileStream
            .Open
            .Type = 1 'adTypeBinary
            .Write objHttp.responseBody
            .Position = 0
            .SaveToFile foler & "chromedriver.zip", 2 '                   "C:\Program Files\SeleniumBasic\chromedriver.zip", 2  'adSaveCreateOverWrite 'adSaveCreateOverWrite
            .Close
        End With
        
        '解壓縮        'C:\Program Files\SeleniumBasic
        On Error GoTo 0
        Set oApp = CreateObject("Shell.Application")
        If Dir(TempDrvFile) <> "" Then Kill TempDrvFile
        oApp.Namespace(foler).CopyHere _
            oApp.Namespace(foler & "chromedriver.zip").items
End sub   

    感謝

TOP

回復 46# singo1232001

  請問大大,
    ChromeDriver 自115.0版 起, 期更新已不放在
          https://chromedriver.storage.googleapis.com/LATEST_RELEASE_
    而放在
          https://googlechromelabs.github.io/chrome-for-testing/#stable

   46樓的  程式該如何修飾:
Sub updataSelenium()  '自動更新selenium
   .........................
    Url = "https://chromedriver.storage.googleapis.com/LATEST_RELEASE_" & dotsarr(0)
Call objHttp.Open("GET", Url, False)
Call objHttp.Send("")
version_number = objHttp.responseText
dotsarr3 = Split(version_number, ".")
leftversion_no = dotsarr3(0) & dotsarr3(1)
download_url = "https://chromedriver.storage.googleapis.com/" + version_number + "/chromedriver_win32.zip"
   
    Call objHttp.Open("GET", download_url, False)
    Call objHttp.Send("")
        

        Set fileStream = CreateObject("ADODB.Stream")
        With fileStream
            .Open
            .Type = 1 'adTypeBinary
            .Write objHttp.responseBody
            .Position = 0
            .SaveToFile foler & "chromedriver.zip", 2 '                   "C:\Program Files\SeleniumBasic\chromedriver.zip", 2  'adSaveCreateOverWrite 'adSaveCreateOverWrite
            .Close
        End With
        
        '解壓縮        'C:\Program Files\SeleniumBasic
        On Error GoTo 0
        Set oApp = CreateObject("Shell.Application")
        If Dir(TempDrvFile) <> "" Then Kill TempDrvFile
        oApp.Namespace(foler).CopyHere _
            oApp.Namespace(foler & "chromedriver.zip").items
End sub   

    感謝

TOP

回復 50# singo1232001


    感謝大大用心地協助。
    Google Chrome 常常在改版本實 在是捆擾,它的 雲端硬碟 ChromeDriveFs 也是。

TOP

回復 52# singo1232001

    謝謝大大的細心與貼心。
       SeleniumBasic 的版本好久沒更新了, 一直停留在  v2.0.9.0。

    測試了 #52 樓的程式, 確實成功的更新到 "Stable" 內的 "116.0"的版本。

TOP

回復 52# singo1232001

   再請教 大大, 下一程式如何填加功能取得 "資料時間 : 2023/08/21 10:44", 謝謝
  http://forum.twbts.com/viewthread.php?tid=23777&page=4
   Sub Test()
    Dim Driver As New Selenium.ChromeDriver
    Dim ID0 As Object, UL1
    Dim sp, u2%, ar(), i%, w%
    Dim sh As Worksheet
   
    Cells.ClearContents
   
    Set Driver = CreateObject("Selenium.ChromeDriver")
    If Driver Is Nothing Then opDriver
    Driver.AddArgument ("headless")     '不顯示WebPage
'    Driver.Start
    Driver.Get "https://tw.stock.yahoo.com/quote/1101.TW"
   
    Set ID0 = Driver.FindElementByID("qsp-overview-realtime-info")
    Set UL1 = ID0.FindElementsByTag("ul")(1)
    '單列
    sp = Split(UL1.text, Chr(10))
    Cells(1, 1).Resize(UBound(sp) + 1, 1) = Application.Transpose(sp)
   
    '雙列
    u2 = UBound(sp) / 2
    ReDim ar(1 To u2, 1 To 2)
    For i = 0 To UBound(sp) Step 2
        w = w + 1
        ar(w, 1) = sp(i)
        ar(w, 2) = sp(i + 1)
    Next
    Cells(1, 3).Resize(UBound(ar), 2) = ar
End Sub

TOP

回復 55# singo1232001

  經測試後, 時間變數是空白, 不知問題在哪裡
  請 大大 再看看
  謝謝

TOP

回復 57# singo1232001


    有得到正確的資料了:
         時間 =  "資料時間:2023/08/21 14:30"

    非常感恩

TOP

        靜思自在 : 受人點水之恩,須當湧泉以報。
返回列表 上一主題