新手想编一个小程序,想通过search 查找出我想要的东西,应用下面的语句,可是我怎么也找不到网页右上角search button 的ID 或是 name. 从 page source 中只看到<button type="submit" title="Go" class="button"
URL:http://www.aloharag.com/engdocument.getElementsById("????").Click 如果没有,应该换成什么语句啊? 多谢了。

解决方案 »

  1.   

    他是直接提交表单的,你找 <form 里的 ID 或 name ,就可以通过表单的 submit 方法实现数据提交操作
      

  2.   

    我引用了这个.document.forms(0).submit  后,只能显示20items, 所以在我抓取product 时,只显示 20items,不是所有的items. 请问应该怎么修改,可以显示所有的结果。
    还有我想抓取得"product-name" 是<h3>
                     31 HOUR BAG                 </h3>, 不是>3.1 PHILLIP LIM</a></h2> ,怎么调整啊。
    另外,我想抓取每个item description,details and size,他们也都不在这个网页上,需要深层抓取,应该怎么设计啊,而且我看到description,details and size的classname 都是 std. 门外汉,多谢了。Sub test()
    Dim eRow As Long
    Dim ele As Object
    Set sht = Sheets("Sheet1")
    RowCount = 1sht.Range("A" & RowCount) = " product"
    sht.Range("B" & RowCount) = "price"
    sht.Range("C" & RowCount) = "description"
    sht.Range("D" & RowCount) = "details"
    sht.Range("E" & RowCount) = "size"
    eRow = Sheet1.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
    Set objIE = CreateObject("InternetExplorer.Application")
    mydesignername = InputBox("Enter name of designer")With objIE
    .Visible = True
    .navigate " http://www.aloharag.com/eng"Do While .Busy Or _
    .readyState <> 4
    DoEvents
    Loop
    Set what = .document.getElementsByName("q")
    what.Item(0).Value = mydesignername
    .document.forms(0).submit           
    Do While .Busy Or _
    .readyState <> 4
    DoEvents
    Loop
    For Each ele In .document.all
    Select Case ele.classname
    Case “item last”
    RowCount = RowCount + 1
    Case “product-name”
    sht.Range("A" & RowCount) = ele.innertext
    Case  "price"
    sht.Range("B" & RowCount) = ele.innertext
    Case  "special-price"
    sht.Range("B" & RowCount) = ele.innertextCase "std"
    sht.Range("C" & RowCount) = ele.innertext
    End Select
    Next ele
    End With
    End Sub
      

  3.   

    document.getElementsByTagName("button")(0).Click 
      

  4.   

    谢谢啊。不过,这种方法当前页显示的也是只有20ITEMS ,当我抓取数据时,也只能抓取20 items 的信息,不是所有的信息。继续请教。
      

  5.   

    document.getElementsByTagName("button")(0).Click 
    document.getElementsByTagName("button")(0).Click 
      

  6.   

    document.getElementsByTagName("button")(0).Click 
    document.getElementsByTagName("button")(1).Click 
    document.getElementsByTagName("button")(2).Click 
    .
    .
    .
      

  7.   

    可以用 LIKE的方法进行检索对应的项目