2016-12-08 16 views
1

テキストを取得する代わりに、次のようなものが表示されます。[ing]プレミアム緑茶セレンにはテキストが表示されません

Browser.FindElement(By.CssSelector(".prod-ing")).Text; 

HTML:ブラウザでHTMLファイルのテキスト内の両方の

<p class="prod-ing">Premium green tea</p> 

が正しく表示されます。
のTextContent
outerText
のinnerText
innerHTMLの

Atributesは同じ結果を与えます。

Webpage

+0

htmlを投稿してください。 – Guy

+0

関連するコードを追加してください。 –

答えて

1

セレクターを常にブラウザのdevコンソールでテストしてください。 CSSセレクタには$$()を使用し、XPathには$ x()を使用します。それはあなたに多くの時間と欲求不満を救うでしょう。この場合、$$(".prod-ing").lengthを実行すると、このロケータに一致する2つの要素が表示されます。

代替可能なロケータがいくつかあります。私が仕事を見つけたカップルは

"section.product_detail_copy p.prod-ing" 
"section.product-description-template-target p.prod-ing" 

私はいつも特別なクラス名でタグ名を含めます。そうすれば、将来的にページが変わると、他のタグと同じクラス名で一致する可能性が低くなります。

1

あなたは2つのprod-ingクラス、[ing]テキストである最初のものを持っています。

Browser.FindElement(By.CssSelector(".product_detail_copy .prod-ing")).Text; 

product_detail_copyクラスは、あなたが探している要素のユニークな祖先である試してみてください。

+0

このセレクタを使用して要素が見つかりません –

+0

@EvaldasB編集済みの私の答え – Guy

関連する問題