如何定位图标的元素(在这种情况下显示地图中的范围),其id是未知的,也没有文本值。“搜索”面板上的图标已经获得了静态类名称。 我试图实现CssSelector和XPath。由于某种原因,CssSelector无法找到该元素,但XPath部分显示了一些结果。我想我会继续使用XPath。
对于该面板上可用的所有图标,类名前缀必须相同。
ux-row-action-item hasGeoExt(classname - 在地图中显示范围)
ux-row-action-item m31(classname - 显示元数据)
由于这些是按空间分割的,我已经实现了代码,驱动程序会通过Xpath找到一个元素来获取它的唯一类名(根据“class”属性的值查找元素。如果元素有然后,这将与他们中的每一个相匹配。) 在这种情况下,它需要来自(1)的hasGeoExt和来自(2)
的m31我在这个场景中面临的问题, 当所有记录的类名相同时,选择第n个范围/元数据/ wms /链接图标。
答案 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(' ');
}