C#Selenium在XPath结果中循环

C#Selenium在XPath结果中循环,c#,loops,selenium,xpath,C#,Loops,Selenium,Xpath,如何循环使用来自同一Xpath的每个结果? 我的代码: IList base=driver.FindElements(By.XPath(“/html/body/table/tbody/tr[2]/td[2]/tbody/tr/td/table/tbody/tr/td/table/tbody/tr/div[4]/div/table/tbody//td[contains(@style,'text-align:center;'))和contains(text(),'?')//following-sib

如何循环使用来自同一Xpath的每个结果? 我的代码:

IList base=driver.FindElements(By.XPath(“/html/body/table/tbody/tr[2]/td[2]/tbody/tr/td/table/tbody/tr/td/table/tbody/tr/div[4]/div/table/tbody//td[contains(@style,'text-align:center;'))和contains(text(),'?')//following-sibling::td[1]”);
String[]baseALL=新字符串[base.Count];
int i=0;
foreach(底部的IwebeElement elm)
{
字符串uhm=driver.FindElement(By.XPath(“/html/body/table/tbody/tr[2]/td[2]/tbody/tr/td/table/tbody/tr/td/table/tbody/tr/td/div[4]/div/table/tbody//td[contains(@style,'text-align:center;'))和contains(text(),'?')]/following兄弟姐妹::td[1]”);
字符串liczba=uhm;
控制台写入线(liczba);
双d=Convert.ToDouble(liczba.Replace(“.”,“,”));
如果(d<10)
{
foreach(基础中的IWebElement wyslij)
{
FindElement(By.XPath(“/html/body/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td/table/tbody/tr/td/table/tbody/tr/td/div[4]/div/table/tbody//td[contains(@style,'text-align:center;'))和contains(text(),'?)]/以下同级::td[2]/a”)。单击();
}
}   
FindElement(By.XPath(“//td//table//td//a[@class='manager\u icon'][@title='Asystent Farmera']))。单击();
}
我的xpath给出如下结果

<td>1.8</td>
<td>3.2</td>
<td>4.8</td>
<td>7.8</td>
1.8
3.2
4.8
7.8
我想循环遍历每一个并进行比较(如果少于10,请单击此处)
但它总是选择第一个结果,我怎么能跳到下一个呢?单击循环也是如此。

使用相对xpath而不是绝对xpath

Find元素始终返回第一个元素。必须通过包含n来更改xpath

试试这个,如果不起作用,请将html添加到问题中

int i = 0;

foreach (IWebElement elm in base)
{
    i++;
    string uhm = driver.FindElement(By.XPath("/html/body/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td/table/tbody/tr/td/table/tbody/tr/td/div[4]/div/table/tbody//tr["+i+"]/td[contains(@style,'text-align: center;')and contains(text(),'?')]/following-sibling::td[1]")).Text;
    string liczba = uhm;
    Console.WriteLine(liczba);
}

你是我的救世主!谢谢
int i = 0;

foreach (IWebElement elm in base)
{
    i++;
    string uhm = driver.FindElement(By.XPath("/html/body/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td/table/tbody/tr/td/table/tbody/tr/td/div[4]/div/table/tbody//tr["+i+"]/td[contains(@style,'text-align: center;')and contains(text(),'?')]/following-sibling::td[1]")).Text;
    string liczba = uhm;
    Console.WriteLine(liczba);
}