我是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? 感谢你的帮助。 待会见
答案 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;