Iteriert werden Ich habe diesen Teil des Codes, der mich verrückt macht.
Ich übergebe Elemente, die aus HTML übernommen wurden.
structureElement scheint feines Element zu halten, aber wenn ich .FindElement() darauf leite, gibt es immer den Wert von der ersten Iteration zurück. WARUM? grrrrrrrr
Hier ist mein Code:FindElement wird nicht iteriert, wenn Elemente in IReadOnlyCollection
IReadOnlyCollection<IWebElement> structureElements =
driver.FindElements(By.XPath(".//div[contains(@id, 'PSBTree_x-auto-')]"));
//.Where(sE => sE.FindElement(By.XPath("//img[@title]")).GetAttribute("title") != "Customer Item")
IWebElement tmp;
foreach (IWebElement structureElement in structureElements)
{
//if (structureElement.FindElement(By.XPath("//span//img[@title]")).GetAttribute("title").Contains("Customer Item"))
// continue;
tmp = structureElement.FindElement(By.XPath("//span[@class='cat-icons-tree']/img"));
ReportProgress(progress, ref r, ct, allsteps, message + tmp.GetCssValue("background"));
Thread.Sleep(100);
ReportProgress(progress, ref r, ct, allsteps, message + structureElement.Text);
Thread.Sleep(300);
}
Oh mein Dank. Ich bin blind oO –