IList<IWebElement> rows = _driver.FindElements(By.XPath("//div[@id='data_3']/div/div/div[3]/table/tbody/tr[@class]"));
for (int i = 1; i <= rows.Count; i++)
{
IList<IWebElement> columns = _driver.FindElements(By.XPath("//div[@id='data_3']/div/div/div[3]/table/tbody/tr[@class][" + i + "]/td[@class]"));
for (int j = 1; j <= columns.Count; j++)
{
}
}
发布于 2020-02-06 09:55:06
据我所知,您需要将三行的值相加,并检查它是否等于第一行的值。我将使用您提供的路径。
public int GetRowValue(int rowNumber)
{
var row = _driver.FindElements(By.XPath("//div[@id='data_3']/div/div/div[3]/table/tbody/tr[@class]"))[rowNumber - 1] // decreased by 1, because if you would like to get first row, it would have 0th index in the array
var columns = row.FindElements(By.XPath("./td"); // find all tds of the given row.
int value = 0;
foreach(var column in columns)
{
if (String.IsNullOrEmpty(column.Text)) continue;
result += Int32.Parse(column.Text);
}
return value;
}
有了它,你就可以很容易地检查你想要的东西。
var row1Value = GetRowValue(1);
var sum = GetRowValue(3);
sum += GetRowValue(6);
sum += GetRowValue(8)
Assert.Equals(row1Value, sum);
https://stackoverflow.com/questions/60039651
复制相似问题