2017-08-09 9 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は私のコードのために働いていない。しかし、 "search search-disabled"を検索しようとすると、時々エラーが発生します。

ボタンが有効かどうかを確認する方法を教えてください。

+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_)を検索し、2番目のクラス名が見つかったノードに割り当てられているかどうかを確認します。 – jsotola

+0

@jsotola確かに、ありがとうございます。私は技術的に物事を説明するのが得意ではない。 – Tehscript

関連する問題