C#硒无法找到元素

时间:2018-09-26 15:06:09

标签: c# selenium webdriver

我是C#和Selenium的新手,因此我对我的琐碎问题表示歉意。我正在尝试自动读取网页计数器中的数字,以下是涉及上述计数器的HTML部分:

<div class="row counter_container_div" xpath="1">
 <h1 class="counter"> 
   <span id="multiplier_first_digit" style="">0</span> 
   <span id="multiplier_second_digit">9</span> 
   <span id="multiplier_third_digit" style="">4</span> 
   <span id="multiplier_fourth_digit" style="">2</span> 
   <span id="multiplier_fifth_digit" class="margin_right0">7</span>
 </h1>
</div>

这是一段C#代码,试图查找计数器的第三位数字:

var digit = driver.FindElement(By.XPath("//span[@id='multiplier_third_digit']")).ToString();
        Console.WriteLine(digit);
        Console.Read();

控制台返回给我的结果如下:

元素(id = 0.9456097574416866-3)

为什么?如何获得HTML代码中出现的结果为4? 感谢你的帮助。 待会见

2 个答案:

答案 0 :(得分:0)

您可以尝试下面的代码来获取文本

var digit = driver.FindElement(By.XPath("//span[@id='multiplier_third_digit']")).Text;

答案 1 :(得分:0)

您要使用Text属性。使用ToString()返回Webelement对象的信息。

此外,作为硒的一般建议,在这种情况下,我建议使用By.Id选择器。您的xpath可以使用,但是使用ID更加容易读写,并且WebDriver在技术上会更快地处理它。因此,请尝试以下操作:

var digit = driver.FindElement(By.Id("multiplier_third_digit")).Text;