Изменение URL Ebay вызывает проблемы - PullRequest
0 голосов
/ 30 мая 2019

Во-первых, этот код работает, большое спасибо QHarr за это.Код работает очень хорошо, когда я использую только URL в коде.

Я наконец-то получил его, чтобы принять критерии поиска из Sheet1, Cell A1.таким образом, я могу поместить свой элемент поиска в A1, и он откроет его, когда откроется IE.Это заняло у меня навсегда тренировки.

Теперь проблема в том, что код не дает никакой информации.единственные изменения сделаны в URL

Я оставил оба кода в коде на данный момент, тот, который работает, активен, а не как комментарий.Второй URL работает, когда элемент поиска помещается в A1, и эта страница открывается в Ebay.в настоящее время этот URL отображается в виде комментария.

Я не могу понять, в чем проблема, кроме того, что мне пришлось оставить эту часть URL отключенной & _ sacat = 0 , так как я продолжаю получатьсообщение об ошибке «Ошибка компиляции - ожидаемое завершение статистики» и не удалось запустить код.

Это мой код

enter  Option Explicit

Public Sub GetDataEbay()
    Dim htmlDoc As MSHTML.HTMLDocument, ie As SHDocVw.InternetExplorer, ws As Worksheet

    Set ie = New SHDocVw.InternetExplorer
    Set htmlDoc = New MSHTML.HTMLDocument
    Set ws = ThisWorkbook.Worksheets("Sheet1")

   Dim nextPageElement As Object
    Dim pageNumber As Long

    With ie
        .Visible = True

  'Original Code for search, but only searches 1 item
  .Navigate2 "https://www.ebay.co.uk/sch/i.html?_from=R40&_trksid=m570.l1313&_nkw=jackets&_sacat=0"

  ' Takes seach from A1 and places it into ebay
  '.Navigate2 "https://www.ebay.co.uk/sch/i.html?_from=R40&_trksid=m570.l1313&_nkw=" & Replace(Worksheets("Sheet1").Range("A1").Value, " ", "+")

        While .Busy Or .readyState <> 4: DoEvents: Wend

        Dim index As Long, HTMLItems As Object, rowNum As Long, xCell As Range
        Dim cssSelectors(), i As Long

        Select Case True
        Case InStr(.document.URL, "ebay.co.uk") > 0
            cssSelectors = Array(".gvtitle a", ".amt", ".gvtitle a")
        Case InStr(.document.URL, "ebay.com") > 0
            cssSelectors = Array(".s-item__title", ".s-item__price", ".s-item__link")

        End Select

        With ws
            For i = LBound(cssSelectors) To UBound(cssSelectors)
                rowNum = 1
                Set HTMLItems = ie.document.querySelectorAll(cssSelectors(i))

                For index = 0 To HTMLItems.Length - 1
                    .Cells(rowNum, i + 1).Value = IIf(i = 2, HTMLItems.Item(index).getAttribute("href"), HTMLItems.Item(index).innerText)
                    rowNum = rowNum + 1
                Next
            Next
            For Each xCell In .Range("C1:C25000") '<= all these really?
                .Hyperlinks.Add Anchor:=xCell, Address:=xCell.Formula
            Next xCell
        End With
        '.Quit
    End With
End Sub

код здесь

Может кто-нибудь, пожалуйста, посмотрите, я попробовал несколько вариантов URL, чтобы заставить его принятьПоиск на Листе A1 и тот, что в коде, единственный, который не дал мне сообщение «Ошибка компиляции - ожидаемый конец статистики», это также единственная вариация URL, которую я смог получить, чтобы вызвать поисковый элемент в eBay..

Я надеюсь, что более опытный человек сможет увидеть, что мне не хватает, или написать URL лучше.Это единственная проблема.

Спасибо, что посмотрели

...