Bagaimana cara mendapatkan data web dropdown di excel mengunakan excel

  1. 3 minggu lalu

    Tolong di bantu cara mendapatkan data web menggunakan vba di excel
    ini web nya mmobuyer.com

    screenshot : https://prnt.sc/t1klxr

    @sucyresky

    edit menjadi :

    Sub tes()
    Dim bot As New WebDriver
    Dim tds As WebElements, trs As WebElements, tr As WebElement, td As WebElement
    
    bot.Start "chrome"
    bot.Get "https://www.mmobuyer.com/"
    bot.FindElementByCss("select[name='games']").SendKeys "WoW Classic US"
    bot.Wait 2000
    Set trs = bot.FindElementByClass("order-table").FindElementByTag("tbody").FindElementsByTag("tr")
    
    r = 1
    For Each tr In trs
        c = 1
        Set tds = tr.FindElementsByTag("td")
            For Each td In tds
                Cells(r, c) = td.Text
                c = c + 1
            Next td
        r = r + 1
    Next tr
    Range("A1:A" & r).WrapText = True
    End Sub

  2. manweljs_

    Jun 19 Terverifikasi + 9.854 Poin

    @sucyresky

    kalau pakai selenium di chrome :

    dropdown text.PNG

  3. Saya mau ambil data ini (server, price, need stock)

    bisa di buatkan codenya mas?data mmobuyer.png

  4. @manweljs_ @sucyresky

    kalau pakai selenium di chrome :

    [attachment:5eec284e063cb]

  5. manweljs_

    Jun 19 Terverifikasi + 9.854 Poin

    @sucyresky

    coba :

    Sub tes()
    Dim bot As New WebDriver
    Dim tds As WebElements, trs As WebElements, tr As WebElement, td As WebElement
    
    bot.Start "chrome"
    bot.Get "https://www.mmobuyer.com/"
    Set trs = bot.FindElementByClass("order-table").FindElementByTag("tbody").FindElementsByTag("tr")
    
    r = 1
    For Each tr In trs
        c = 1
        Set tds = tr.FindElementsByTag("td")
            For Each td In tds
                Cells(r, c) = td.Text
                c = c + 1
            Next td
        r = r + 1
    Next tr
    Range("A1:D" & r).WrapText = False
    End Sub

  6. @manweljs_ Sub tes()
    Dim bot As New WebDriver
    Dim tds As WebElements, trs As WebElements, tr As WebElement, td As WebElement

    bot.Start "chrome"
    bot.Get "https://www.mmobuyer.com/"
    Set trs = bot.FindElementByClass("order-table").FindElementByTag("tbody").FindElementsByTag("tr")

    r = 1
    For Each tr In trs
    c = 1
    Set tds = tr.FindElementsByTag("td")
    For Each td In tds
    Cells(r, c) = td.Text
    c = c + 1
    Next td
    r = r + 1
    Next tr
    Range("A1:D" & r).WrapText = False
    End Sub

    salah.jpg
    tolong di bantu

  7. salah2.jpg
    di jalankan ke 2x nya muncul error seperti gambar

  8. manweljs_

    Jun 19 Terverifikasi + 9.854 Poin
    Di sunting 3 minggu lalu oleh manweljs_

    dari awal saya berasumsi @sucyresky sudah menginstal selenium dan tau cara menggunakannya.
    jika belum instal, silahkan instal dahulu. anda bisa download di sini :SeleniumBasic v2.0.9.0

    setelah instal selenium, pastikan chrome driver versinya sama dengan versi chrome anda. jika belum sama cek versi chrome anda, kemudian cari versi yang sama di sini : ChromeDriver
    setelah ketemu drivernya, extrak dahulu lalu paste di :

    C:\Users\%username%\AppData\Local\SeleniumBasic

    setelah 2 tahapan diatas, pastikan SeleniumTypeLibrary sudah aktif di VBA References :
    SeleniumTypeLibrary.jpg

    setelah itu baru jalankan skrip diatas.

    terlampir contoh hasilnya

  9. @manweljs_ dari awal saya berasumsi @sucyresky sudah menginstal selenium dan tau cara menggunakannya.
    jika belum instal, silahkan instal dahulu. anda bisa download di sini :SeleniumBasic v2.0.9.0

    setelah instal selenium, pastikan chrome driver versinya sama dengan versi chrome anda. jika belum sama cek versi chrome anda, kemudian cari versi yang sama di sini : ChromeDriver
    setelah ketemu drivernya, extrak dahulu lalu paste di :

    C:\Users\%username%\AppData\Local\SeleniumBasic

    setelah 2 tahapan diatas, pastikan SeleniumTypeLibrary sudah aktif di VBA References :
    [attachment:5eec54bb13192]

    setelah itu baru jalankan skrip diatas.

    terlampir contoh hasilnya

    Kalau kita mau mengambil data yang di "WOWCLASSIC" saja, cara penulisan codenya bagaimana mas?

  10. manweljs_

    Jun 19 Terverifikasi + 9.854 Poin

    @sucyresky

    WOWCLASSIC itu apa? kategorinya? maksudnya di filter dahulu atau bagaimana? yang saya lihat di web itu ada WoW Classic US dan WoW Classic EU, yang diinginkan yang mana?

    coba jelaskan lebih rinci

  11. Di sunting 3 minggu lalu oleh sucyresky

    @manweljs_ @sucyresky

    WOWCLASSIC itu apa? kategorinya? maksudnya di filter dahulu atau bagaimana? yang saya lihat di web itu ada WoW Classic US dan WoW Classic EU, yang diinginkan yang mana?

    coba jelaskan lebih rinci

    anuas.png
    yang ini mas (WOW CLASSIC US)

  12. manweljs_

    Jun 19 Terverifikasi Jawaban Terpilih + 9.854 Poin

    @sucyresky

    edit menjadi :

    Sub tes()
    Dim bot As New WebDriver
    Dim tds As WebElements, trs As WebElements, tr As WebElement, td As WebElement
    
    bot.Start "chrome"
    bot.Get "https://www.mmobuyer.com/"
    bot.FindElementByCss("select[name='games']").SendKeys "WoW Classic US"
    bot.Wait 2000
    Set trs = bot.FindElementByClass("order-table").FindElementByTag("tbody").FindElementsByTag("tr")
    
    r = 1
    For Each tr In trs
        c = 1
        Set tds = tr.FindElementsByTag("td")
            For Each td In tds
                Cells(r, c) = td.Text
                c = c + 1
            Next td
        r = r + 1
    Next tr
    Range("A1:A" & r).WrapText = True
    End Sub

  13. @manweljs_ Sub tes()
    Dim bot As New WebDriver
    Dim tds As WebElements, trs As WebElements, tr As WebElement, td As WebElement

    bot.Start "chrome"
    bot.Get "https://www.mmobuyer.com/"
    bot.FindElementByCss("select[name='games']").SendKeys "WoW Classic US"
    bot.Wait 2000
    Set trs = bot.FindElementByClass("order-table").FindElementByTag("tbody").FindElementsByTag("tr")

    r = 1
    For Each tr In trs
    c = 1
    Set tds = tr.FindElementsByTag("td")
    For Each td In tds
    Cells(r, c) = td.Text
    c = c + 1
    Next td
    r = r + 1
    Next tr
    Range("A1:A" & r).WrapText = True
    End Sub

    sudah bias mas, ty banget

 

atau Mendaftar untuk ikut berdiskusi!