如何得到" rect"使用webdriver的值

时间:2016-05-21 21:01:48

标签: c# selenium

我试图从" rect"中获取价值。使用c#和selenium的元素,我可以得到" rect"元素但无法查看并使用其值

我需要得到"数据计数"价值和"数据日期"价值

这是如何获取rect元素:

var calendarElements = driver.FindElement(By.Id("contributions-calendar"))
            .FindElement(By.ClassName("js-calendar-graph"))
            .FindElements(By.TagName("g"));
        foreach (var element in calendarElements)
        {
            var a = element.FindElements(By.TagName("rect"));

        }

这是我的html路径:

enter image description here

我需要计算"数据计数"价值,但我不能得到它

2 个答案:

答案 0 :(得分:0)

data-count是一个属性。使用GetAttribute()方法获取属性值:

var dataCount = element.FindElement(By.TagName("rect")).GetAttribute("data-count");

答案 1 :(得分:0)

我建议稍微修改代码以及@alecxe已经建议的内容:

// loop for calendar element
foreach (var calElement in calendarElements) {
  var a = calElement.FindElements(By.TagName("rect")); 
  // another loop for the list of rect element 
  foreach (var rectElement in a) {
    var dataCount = rectElement.GetAttribute("data-count");
    var dataDate = rectElement.GetAttribute("data-date");
    //use these two accordingly
  }
}