如何使用vba点击IE中没有href的链接,onclick?

时间:2016-06-15 04:28:58

标签: javascript excel-vba vba excel

Sub sales_ann()

Dim objIE As InternetExplorer
Dim ele As Object
Dim y As Integer
Set objIE = New InternetExplorer
objIE.Visible = True

    objIE.navigate "http://data.eastmoney.com/bbsj/201603/yjyg.html"
    Do While objIE.Busy = True Or objIE.readyState <> 4: DoEvents: Loop


    For Each ele In objIE.Document.getElementsByTagName("tbody")

    Debug.Print ele.textContent

     y = 2
     For i = 0 To 49
     Sheets("sale_ann").Range("A" & y).Value = ele.Children(i).Children(0).textContent
     Sheets("sale_ann").Range("B" & y).Value = ele.Children(i).Children(1).textContent
     Sheets("sale_ann").Range("C" & y).Value = ele.Children(i).Children(2).textContent
     Sheets("sale_ann").Range("D" & y).Value = ele.Children(i).Children(3).textContent
     Sheets("sale_ann").Range("E" & y).Value = ele.Children(i).Children(4).textContent

     y = y + 1
     Next i

Next

objIE.Quit
Set IE = Nothing

End Sub

第1步:

<li class="at2" data="0">业绩预告<i></i></li>
<li data="1" class="">业绩预增<i></i></li>
<li data="2" class="">业绩预减<i></i></li>
<li data="3" id="fpygTab" class="">分配预告<i></i></li>

第2步:

<span class="clickspan">业绩变动幅度</span>

我想要做的是点击由javascript生成的“data =”1“”按钮 然后在“tbody”中抓取数据之前单击“class =”clickspan“”。 我已经尝试了execScriptgetElementsByClassName("").click(),但它没有用。有人告诉我使用document.querySelector()和dispatchEvent(clickEvent)但是也没有用。我该怎么办?

1 个答案:

答案 0 :(得分:0)

最简单的方法可能是使用document.querySelector()dispatchEvent()

<input class="form-control" name="description" type="text" value="<?php echo $item[0]->desc;?>" required>