2017-08-09 79 views
1

我想刮一个网站。它有下拉菜单。在下拉菜单中没有选择任何内容时,搜索按钮将变为灰色/不可点击。按钮的源代码是这样的:如何检测按钮在源中是否被禁用

<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不适用于我的代码。但是,当我尝试查找“搜索禁用搜索”时,有时会出现错误。

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

+0

是否由IE对象? – Tehscript

回答

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 
+0

谢谢,我会试试这个。 – Den

+0

@Tehscript,为了澄清读者,_search_和_search-disabled_都是类名,每个都可以通过'getElementsByClassName'方法找到。代码片段会查找始终存在的类名(_search_),并检查是否将第二个类名分配给确实发现的节点 – jsotola

+0

@jsotola,谢谢澄清。我不善于在技术上解释事情。 – Tehscript

相关问题