2017-08-09 82 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

相關問題