2012-10-01 55 views
0

我有下面的代码在网页如何点击VBA中的网页上的搜索框提供的按钮(它没有标签名称/ ID)?

<form class="search" target="_blank" method="get" action="Search.mvc/advanced"> 
    <input aria-haspopup="true" aria-autocomplete="list" role="textbox" autocomplete="off" class="quick ui-autocomplete-input" name="q" id="search-box" placeholder="Search" type="search"> 
    <button type="button" class="advanced" title="Advanced Search"><span class="icon"></span></button> 
</form> 

我想点击提供的搜索框和网页代码没有标记名称或ID按钮。我正在使用IE 8浏览器。

任何人可以帮助我在这里...

+0

我们对你的问题几乎一无所知。什么网页?你目前的代码是什么? – brettdj

+0

Brettdj,我使用VBA自动完成表格填充过程。因此,我的网页是接受上述输入(表单输入)的网站的一部分,我提供的代码是从包含按钮代码及其父窗体标记的浏览器源代码选项复制的。如果您需要更多信息,请告诉我。 – Ujj

回答

0

试试这个代码...

(写意类型未经测试的代码,所以可能有错别字。请报告回来,如果它不工作)

Sub ClickIEButton() 
    Dim ie As Object 
    Dim form As Variant, button As Variant 

    Set ie = CreateObject("InternetExplorer.Application") 
    ie.Visible = True 
    ie.Naviagate ("http://whateverwebsite.com") 
    While ie.ReadyState <> 4 
     DoEvents 
    Wend 

    Set form = ie.Document.Body.GetElementsByTagName("form")(0) '<-- You may need to change this 0 to 1 or 2 or 3 etc.... 
    Set button = form.GetElementsByTagName("button")(0) '<-- You may need to change this 0 to 1 or 2 or 3 etc.... 
    button.Click 
End Sub 
+0

感谢Pradeep的快速响应。但我没有标签名称在我的按钮HTML代码“(”form“)(0)”。我怎么才能得到它? – Ujj

+0

“form”和“button”是标签的名称。所以'... GetElementsByTagName(“button”)'将获得所有的按钮。 '(0)'表示我们选择第一个按钮。如果您想点击的按钮不是第一个,那么您必须相应地更改此号码。第二个按钮为1,第三个按钮为2等。 –

相关问题