5
私は狂ったように感じるこのコード部分を持っています。
私はHTMLから取り出された要素を反復処理しています。
structureElementはきれいな要素を保持しているようですが、.FindElement()を実行すると最初の繰り返しから常に値が返されます。どうして? grrrrrrrr
は、ここに私のコードです:あなたが意味Xpath
、中//
を使用しているためだIReadOnlyCollectionの要素を反復処理するとき、FindElementは反復処理しません。
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);
}
をすべて省略形を確認することができます。私は盲目です –