如何检测源中是否禁用了按钮

时间:2017-08-09 21:17:15

标签: vba web-crawler

我想抓一个网站。它有下拉菜单。如果在下拉菜单中未选择任何内容,则搜索按钮将显示为灰色/不可点击。按钮的源代码如下:

<br>
<span class="search search-disabled" id="by_item">Search</span>
<span class="reset search-disabled" id="reset_item">Reset</span>
<div class="clear">
::before
::after
</div>
<br>

当填充下拉菜单时,该按钮被启用,源代码如下:

<br>
<span class="search" id="by_item">Search</span>
<span class="reset" id="reset_item">Reset</span>
<div class="clear">
::before
::after
</div>
<br>

例如,对于搜索按钮:我想检查按钮是否已禁用或启用,以便我可以继续使用我的代码。我需要按类名找到它,id不能用于我的代码。但是当我试图找到&#34;搜索禁用搜索&#34;时,有时我会收到错误。

如何检查按钮是启用还是禁用?

1 个答案:

答案 0 :(得分:0)

空格之前的第一个单词是您应该去的类名(searchreset)。您可以通过`className属性提取当前类名,并检查它是否具有您要查找的关键字。假设您正在使用IE对象并且它是源代码中的第一个元素,示例代码应如下所示:

Set btn = ie.document.getElementsByClassName("search")(0)
If InStr(1, btn.className, "search-disabled", vbTextCompare) Then
    'your code when button is disabled
Else
    'your code when button is enabled
End If