与WebPage VBA的交互

时间:2018-03-21 11:12:03

标签: html excel-vba web vba excel

我创建的代码允许我打开特定网站并在名称为searchByTagName=searchByTRSMP的元素中输入值,然后输入搜索以加载新窗口

但是按钮搜索没有TagName或IdName只有这个

的问题
<td width="13%" align="center" rowSpan="1" colSpan="1">
   <input name="" onclick="Javascript:document.forms[0].submit();return false;" type="image" srx="/cmh/cmh/xxxxxx" border="0"></input>

只有那些条件按下那个按钮,任何人都可以点亮我

这个Mycode:

Sub ToComb()
 Dim ie  As Object
 Dim itm As IHTMLElement

 Set ie = CreateObject("InternetExplorer.Application")
 ie.Visible = True
 ie.navigate "http://XXXX- 
 XXXX.eu.airbus.XXXXXp:XXXXX/cmh/consultation/preSearchTRSTDMAS.do? 
 clearBackList=true&CMH_NO_STORING_fromMenu=true"
  While ie.Busy Or ie.readyState <> 4: DoEvents: Wend

  Set itm = ie.document.getElementsByName("searchByTRSMP")(0)
   If Not itm Is Nothing Then itm.Value = "k20734"
   Set Doc = ie.document


    Set tags = ie.document.getElementsByTagName("")
    For Each tagx In tags
     If tagx.Value = "Next" Then
     tagx.Click
    Exit For
   End If
 Next
End Sub

1 个答案:

答案 0 :(得分:1)

GetElementsByTagname表示按HTML元素的类型搜索元素(例如divp或您的示例中的input)。

您可以获取所有输入标记(元素),迭代它们并根据它(例如)srx属性识别所需的输入:

Set tags = ie.Document.GetElementsByTagname("Input")

For Each tagx In tags
    If tagx.src= "/cmh/cmh/xxxxxx" Then
        tagx.Click
    End If
Next

此外,src的最终input可能会从实际代码更改,因为您使用了相对路径。使用MsgBox检查实际的src

For Each tagx In tags 
    MsgBox tagx.src

我认为它会有所不同,例如http的前缀等等:

If tagx.src = "http://xxxx 
   xxxx.eu.airbus.xxx:xxxx/cxxx/xxx/image/button_search.gif" Then