当前位置: 首页 > 知识库问答 >
问题:

遵循标准方法,但未能用VBA单击web页面中的对象

孔鸿云
2023-03-14

有谁知道为什么网络没有回应

ClassName: ("J_SearchIpt search-btn iconfont-sf icon-sousuo")

TagName: ("button"). 

子淘宝()

Application.ScreenUpdating=False Application.Calculation=

Dim i As Integer
Dim x As Integer
Dim k As Integer
Dim pricehq As String
Dim price As String

x = InputBox("initial:")
k = InputBox("final:")



Dim IE As Object
Set IE = CreateObject("InternetExplorer.Application")
IE.Visible = True

On Error Resume Next
For i = x To k

    Dim properties As String
    properties = Cells(i, 1).Value
    'MsgBox properties

    IE.navigate "https://sf.taobao.com/?spm=a213w.7398504.sfhead2014.2.1vQXr0&current=index"


    Application.Wait (Now + TimeValue("0:00:07"))

    Dim Doc As HTMLDocument
    Set Doc = IE.document

    Set ptyinput = IE.document.getElementById("J_SearchTxt")
    ptyinput.Value = properties

    Application.Wait (Now + TimeValue("0:00:02"))

    'Set ptyclick = IE.document.getElementByClassName("J_SearchIpt search-btn iconfont-sf icon-sousuo")
    Set ptyclick = IE.document.getElementsByTagName("button")
    ptyclick.Click

    Application.Wait (Now + TimeValue("0:00:03"))

    Dim objshell As Object
    Set objshell = CreateObject("Shell.Application")
    Set IE = objshell.Windows(1)

    Application.Wait (Now + TimeValue("0:00:03"))

    price = Trim(Doc.getElementsByClassName("price")(0).innerText)
    If IsNumeric(Right(price, 1)) = True Then
    Cells(i, 2).Value = price
    Else
    Cells(i, 2).Value = Trim(Doc.getElementById("price_hq").innerText)
    price = ""
    pricehq = ""

    End If

 Next i

application.screenupdating=True application.calculation=

末端接头

共有1个答案

阎功
2023-03-14

尝试以下按钮。

Dim a As HTMLButtonElement
Set a = Doc.querySelector("button[class=""J_SearchIpt search-btn iconfont-sf icon-sousuo""]")
a.Click

如果你没有得到你期望的结果,我会让windows句柄部分成为一个新的问题。

 类似资料:
  • 问题内容: 是否有通过JSON中的标识引用对象的标准方法?例如,可以合理地序列化/加载具有大量(可能是圆形)引用的图形和其他数据结构吗? 编辑 :我知道做一次性解决方案很容易(“先列出图中所有节点的列表,然后……”)。我想知道是否存在针对此问题的标准通用解决方案。 问题答案: 我最近在搜索相同的功能。似乎没有用于JSON引用的标准或普遍实现。我发现了一些可以共享的资源: JSON引用的未来 htt

  • 本章阐述标准方法的概念,包括了List, Get, Create, Update, and Delete。很多不同类型的API都拥有非常类似的语义,把它们归纳为标准方法能够显著降低复杂度并提高一致性。在谷歌API仓库中,超过70%的API属于标准方法。标准方法更容易学习和使用。 以下表格描述了如何将标准方法映射为REST方法,也就是所谓的CRUD方法: 方法 HTTP 方法映射 HTTP 请求体

  • 问题内容: 我有以下python脚本,它可以很好地工作。 但是,我提供的某些URL可能会将其重定向2次或更多次。如何在加载数据之前让python等待重定向完成。例如,当使用上面的代码 这相当于在Google搜索上点击即时幸运按钮,我得到: 香港专业教育学院尝试了(URL,数据,超时),但是,我不确定该放在哪里。 编辑:我实际上发现如果我不重定向,而只是使用第一个链接的标头,我可以抓住下一个重定向的

  • 我想让Puppeteer根据数组中名为的项的数量点击一些选项卡: 但我得到了这个错误: 这似乎是语句弄乱了。 这样做的正确方法是什么?

  • 使用的框架是cucumber。 HTML: 错误:org.openqa.selenium.timeoutexception:等待位于以下位置的元素出现100秒后超时:by.xpath:*[@id='header division']生成信息:版本:'2.32.0',修订:'6C40C18',时间:'2013-04-09 17:23:22'系统信息:os.name:'Windows XP',os.a

  • 本文向大家介绍jQuery获取单击节点对象的方法,包括了jQuery获取单击节点对象的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了jQuery获取单击节点对象的方法。分享给大家供大家参考,具体如下: event.target属性: 解释: 其中event.target 即为触发单击事件的对象 (有可能是容器内部的某个控件) PS:这里再为大家推荐几款代码格式化、美化工具,相信大家在