如何找到所有记录具有相同类名的元素?

时间:2014-11-07 10:55:07

标签: c# selenium xpath

如何定位图标的元素(在这种情况下显示地图中的范围),其id是未知的,也没有文本值。“搜索”面板上的图标已经获得了静态类名称。 我试图实现CssSelector和XPath。由于某种原因,CssSelector无法找到该元素,但XPath部分显示了一些结果。我想我会继续使用XPath。

对于该面板上可用的所有图标,类名前缀必须相同。

  1. ux-row-action-item hasGeoExt(classname - 在地图中显示范围)

  2. ux-row-action-item m31(classname - 显示元数据)

  3. 由于这些是按空间分割的,我已经实现了代码,驱动程序会通过Xpath找到一个元素来获取它的唯一类名(根据“class”属性的值查找元素。如果元素有然后,这将与他们中的每一个相匹配。) 在这种情况下,它需要来自(1)的hasGeoExt和来自(2)

    的m31

    我在这个场景中面临的问题, 当所有记录的类名相同时,选择第n个范围/元数据/ wms /链接图标。

1 个答案:

答案 0 :(得分:0)

查找包含类名ux-row-action-item的所有元素:

var icons = driver.FindElements(By.CssSelector("[class*='ux-row-action-item']"));

var icons = driver.FindElements(By.XPath("*[contains(@class,'ux-row-action-item')]"));

要解析这些元素中的其他类名:

foreach(IWebElement singleIcon in icons)
{
    string[] classNames = singleIcon.GetAttribute("class").Split(' ');
}
相关问题