2017-05-18 11 views
1

I持って、私はテキスト出力FIC636を表示するには、以下のコードを書かれているC#でセレンを通じて、ネストされたdiv要素から値を取得

<div class="Test_cWidgetContainer" id="479b9c05-3f2b-43a1-c24d-89f574673326" draggable="false" style="background-repeat: no-repeat; background-position: center center; background-size: 100% 100%; background-color: rgb(255, 255, 255); position: absolute; left: 20px; top: 15px; width: 159px; height: 31px; z-index: 8; font-size: 0px;"> 
<div style="text-align: center; display: table; width: 100%; height: 100%;"> 
    <div style="vertical-align: middle; display: table-cell;"> 
    <div style="display: inline-block; font-style: normal; font-variant: normal; font-weight: normal; font-stretch: normal; font-size: 9px; line-height: normal; font-family: TestDefault, Arial, sans-serif; color: rgb(70, 70, 70);">FIC636130682944873438 - 1</div> 
    </div> 
    </div> 
</div> 

次のHTMLページ...

IWebElement element = driver.FindElement(By.ClassName("Test_cWidgetContainer")); 

String labelText = element.Text 
Console.WriteLine(labelText); 

しかし、 labelTextに値は表示されませんか?コードで間違っているものを手伝ってくれますか?

答えて

0

実際には、あなたが配置した要素のInner divの下にあるテキスト。

IWebElement element = driver.FindElement(By.XPath(".//div[@class='Test_cWidgetContainer']/div/div/div")); 

String labelText = element.Text 
Console.WriteLine(labelText); 
+0

おかげで、私はどのように生成されるか、多くのdiv、このページのように入れ子にわからない場合はどのように私が扱うん:だからあなたはあなたのコードでXPath

.//div[@class='Test_cWidgetContainer']/div/div/div 

を使用して、このように、内側divを見つけるために持っています別のツールでカスタムコントロールを使用します。 –

+0

あなたのテキスト 'FIC636130682944873438'は常に' FIC'で始まるの? – NarendraR

+0

このテキストは基になるDBから来て、複数の値を持つことができるため、テキストは常に動的です。 –

関連する問題