Ho questa parte di codice che mi fa impazzire.
Sto iterando su elementi che sono stati presi da HTML.
structureElement sembra contenere un elemento fine, ma quando eseguo .FindElement() su di esso restituisce sempre valore dalla prima iterazione. PERCHÉ? grrrrrrrr
Ecco il mio codice:FindElement non itera quando itera elementi 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 mio, grazie. Sono cieco oO –