2016-06-18 11 views
0

は私が VBA:Selenium:Foreach文の実行時エラー?

Dim webs, web As Object 
Set webs = driverg.findElementByCssSelector("*[class^='title-link id-track-click']") 

**For Each web In webs** 
Debug.Print web.Text 
Next web 

プログラムはforeachの中で開始さ

が、私はこのエラーを取得しています、以下

私のコーディングがある「オブジェクトはこのプロパティまたはメソッドをサポートしていません」というエラーを取得しています。

Web要素をループさせる方法はありますか?私はたくさん試しましたが、これを解決できません。

答えて

0

あなたは

は独自の別々の行に

Dim webs As Object 
Dim web As Object 
それらを定義し、それが最後に宣言をデフォルトにしないと同じライン上にそれらを置くことによってバリアント

としてウェブを定義しました

それはあなたが意図したものではなく、ウェブが配列の場合は

Dim webs As Object 
Dim web As Variant 

EDIT - チェックドキュメント

は、ドキュメントによると - それが唯一の最初の要素を返します - ので、私はあなたが

種類「ごとに」やっている理由はわからない。IWebElementザ・最初のIWebElementは条件に一致します。

+0

にライン

driverg.findElementByCssSelector("*[class^='title-link id-track-click']") 

下回ることができます変更されている

どのようにすべての要素を見つけると、私はまだ働いていないforeachステートメントを説明する方法を教えてください。私はVBAを使用してセレンのwebdriver –

0

findElementByCssSelectorは、各wrokingないけどfindElemenstByCssSelectorに変更したときに、作業を取得していること、したがって一つだけの要素を返すように私は、findElementsByCssSelectorにfindElementByCssSelectorを変更しました。私は、[クラス^ = 'タイトルリンクID-トラッククリック'] *「私はクラスの平等のためのすべての要素を検索したい

driverg.findElementsByCssSelector("*[class^='title-link id-track-click']")