Html VBA Web抓取:单击具有动态生成的名称和ID的按钮

Html VBA Web抓取:单击具有动态生成的名称和ID的按钮,html,vba,web-scraping,Html,Vba,Web Scraping,我正在做一个网页抓取项目,大部分工作正常,但在点击一个按钮时遇到了问题。问题在于HTML中按钮的名称和ID是动态创建的: <td colspan="1" rowspan="3" valign="middle"><input type="submit" name="11|2328342|429156$Link" value="Select" id="11|2328342|429156_Link" /></td> 因此,我不能使用getElementByI

我正在做一个网页抓取项目,大部分工作正常,但在点击一个按钮时遇到了问题。问题在于HTML中按钮的名称和ID是动态创建的:

<td colspan="1" rowspan="3" valign="middle"><input type="submit" name="11|2328342|429156$Link" value="Select" id="11|2328342|429156_Link" /></td>


因此,我不能使用getElementById或getElementByClassName,因为Id和名称随着每次迭代而改变


是否有其他方法引用然后单击此按钮?

我正在使用selenium VBA。看看这段代码(我用过CSS选择器)

至于IE,你可以这样使用它

Sub Test()
    Dim ie As New InternetExplorer
    With ie
        .Visible = True
        .Navigate2 "file:///C:/Sample.html"
        While .Busy Or .readyState <> READYSTATE_COMPLETE: DoEvents: Wend
        .document.querySelector("input[value='Select']").Click
    End With
End Sub
子测试()
Dim ie成为新的InternetExplorer
与ie
.Visible=True
.导航2“file:///C:/Sample.html"
当.Busy或.readyState时readyState\u完成:DoEvents:Wend
.document.querySelector(“输入[value='Select']”)。单击
以
端接头

您尝试过使用XPath吗?您使用什么(selenium或IE或任何其他方法?感谢您的回复。这是在一台工作PC上,因此我只能使用IE,不能使用SeleniumHanks Yasser,但该代码似乎不起作用。我得到一个“对象不支持…”.document.querySelector行出错。我不知道为什么它不适用于您。您能提供一个URL来查看吗?嗨,Yasser。对不起,可以从工作PC访问上的工作URL。我一直在阅读有关querySelector和querySelectorAll的内容。显然,它们返回的是静态对象列表,而不是“活动”对象列表。我想知道这是否就是为什么。单击method不起作用?我不确定。也许它与javascript有关,所以它是动态的。
Sub Test()
    Dim ie As New InternetExplorer
    With ie
        .Visible = True
        .Navigate2 "file:///C:/Sample.html"
        While .Busy Or .readyState <> READYSTATE_COMPLETE: DoEvents: Wend
        .document.querySelector("input[value='Select']").Click
    End With
End Sub