从WebElement获取唯一的CSS选择器

时间:2019-05-22 12:02:25

标签: selenium selenium-webdriver kotlin

是否可以获取WebElement的CSS选择器?

例如

var optionSelectors = mutableListOf<String>()
val options = selectWebElement?.findElements(By.cssSelector("option")).orEmpty()
for(option in options){
   var optionSelector = option.getSelector()
   optionSelectors.add(optionSelector)
}
return toJson(optionSelectors)

提前谢谢

1 个答案:

答案 0 :(得分:2)

您始终可以使用Reflection来获取foundBy属性值,例如:

Field field = element.getClass().getDeclaredField("foundBy");
field.setAccessible(true);
String foundBy = field.get(element).toString();

enter image description here

但是,由于您已经找到了该元素,因此您的问题的性质有些奇怪,不是吗?如果要与Select选项值进行交互,可以使用具有Select的相关getOptions() function类。

也考虑使用Page Object Model design pattern,这是使测试逻辑与UI层分开的最佳实践之一