@manweljs_ @Caton
Terima kasih Saya sudah berhasil untuk mengambil harga dari script yang mas Man berikan, tetapi Yang seharusnya Stok Tersedia dan Stok Tinggal malah jadi Stok tidak tersedia
Jadi status Stok di website tersebut ada 3 Kondisi
- Stok Tersedia = dp__stock dp__stock--ready
- Stok tidak tersedia = dp__stock dp__stock--empty
- Stok Tinggal 5 / 4 / 3 / 2 / 1 = dp__stock dp__stock--limited
Tetapi hasil pengambilan data di element tersebut (span)
- check_circle Stok Tersedia
- highlight_off Stok tidak tersedia
- info Stok Tinggal 5 / 4 / 3 / 2 /1
Sehingga saya menggunakan script ini untuk menghilang kata yang gak terpakai
'cleaning Status Stock
ActiveCell.Replace What:="*check_circle", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
ActiveCell.Replace What:="info", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
ActiveCell.Replace What:="highlight_off", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Berikut script saya saat ini, dan sudah ada saya lampirkan excelnya
Apakah saya ada menloncatkan action cek status stok dari script ini atau gimana mas?
Mohon maaf sebelumnya untuk tanya lagi, karena saya sudah stuck, dan otak atik tidak mendapatkan hasil.
Sub Grab()
Dim ie As InternetExplorer
Dim html As HTMLDocument
Dim URLNAME As String
Dim sht As Worksheet
Dim LastRow As Long
Dim stok
Dim hargarp As String
Set sht = ActiveSheet
baris_akhir = sht.Cells(sht.Rows.Count, "A").End(xlUp).Row
'MsgBox baris_akhir
For i = 2 To baris_akhir
URLNAME = Cells(i, 1).Value
Set ie = New InternetExplorer
ie.Visible = False
ie.navigate URLNAME
Do
DoEvents
Sleep 250
Loop Until ie.readyState = READYSTATE_COMPLETE
Set html = ie.document
sBuffer = html.body.innerHTML
HargaBaru = Chr$(34) & "final" & Chr$(34) & Chr$(58)
Idx2 = InStr(1, sBuffer, HargaBaru)
If Idx2 Then
sTemp = vbNullString
sTemp = Mid(sBuffer, Idx2 + Len(HargaBaru), 50)
sTemp = Mid(sTemp, 1, InStr(1, sTemp, Chr$(44)) - 1)
End If
Set stok = html.getElementsByClassName("dp__stock dp__stock--ready")(0)
'cek apakah stok banyak atau sedikit.
If stok Is Nothing Then
Set stok = html.getElementsByClassName("dp__stock dp__stock--limited")(0)
Else
End If
If stok Is Nothing Then
Set stok = html.getElementsByClassName("dp__stock dp__stock--empty")(0)
Else
End If
'Tool sementara :
'Debug.Print namabarang.className
'Debug.Print namabarang.innerText
'MsgBox statusstok
'Harga awal
Cells(i, 3).Select
Cells(i, 3).Value = sTemp
'Status Stock
Cells(i, 4).Select
'If statusstok.innerText = "email" Then Cells(I, 6).Value = "Stock Tersedia"
Cells(i, 4).Value = stok.innerText
'cleaning Status Stock
ActiveCell.Replace What:="*check_circle", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
ActiveCell.Replace What:="info", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
ActiveCell.Replace What:="highlight_off", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
ie.Quit
Set ie = Nothing
Application.StatusBar = ""
On Error Resume Next
Next i
MsgBox "Grabing data sudah selesai boss besar, :-)", , "Box"
End Sub