通过C#中的selenium从嵌套div中检索值

时间:2017-05-18 04:50:21

标签: c# selenium

我有以下HTML页面

<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>

我编写了以下代码来显示文本输出FIC636 ...

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

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

但是 labelText 没有显示任何值?有人可以帮我解决代码的问题。

1 个答案:

答案 0 :(得分:0)

实际上是您所在元素的内部div下的文字。所以你必须使用xpath

以这种方式找到内部div
.//div[@class='Test_cWidgetContainer']/div/div/div

在您的代码中:

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

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