按类名C#Selenium webdriver查找元素
我是C#的新手,我想通过元素的类名来获取它们。我找到了使用Xpath的方法,但我确信有更优雅、更合适的解决方案 首先我“抓取”表,然后通过Xpath查找元素。我想做的是定义一行。例如按类名C#Selenium webdriver查找元素,c#,selenium,xpath,C#,Selenium,Xpath,我是C#的新手,我想通过元素的类名来获取它们。我找到了使用Xpath的方法,但我确信有更优雅、更合适的解决方案 首先我“抓取”表,然后通过Xpath查找元素。我想做的是定义一行。例如entireRow并通过它将不同类型的元素分配为两个和。如果元素带有类“devColorLower”,+=devColorLower值,如果元素带有类“devColorUpper”,++devColorUpper值 这是我使用的代码 // Grab the table var tbody1 = driver.Find
entireRow
并通过它将不同类型的元素分配为两个和。如果元素带有类“devColorLower”
,+=devColorLower
值,如果元素带有类“devColorUpper”
,++devColorUpper
值
这是我使用的代码
// Grab the table
var tbody1 = driver.FindElements(By.XPath(".//*[@id='DataTableID']/tbody/tr"));
// Grab the color values
foreach (var row in tbody1)
{
var entireRow = row.FindElements(By.XPath(".//td"));
var shortfall = row.FindElements(By.XPath(".//td[@class='DataTableTD devColorLower']"));
var exceedence = row.FindElements(By.XPath(".//td[@class='DataTableTD devColorUpper']"));
}
我已经得出结论了。我添加了第二个foreach循环
foreach (var cell in entireRow) // Defines a foreach cycle that check every cell in the row - entireRow
{
String cellClass = cell.GetAttribute("class"); // Gets the class
if (cellClass == ("DataTableTD devColorLower")) { ..code}