在可重用中我使用了变量
WebElement yellow = Driver.findElement(By.cssSelector("#yel"))
public void color(String color) { //something
}
现在在我的主类中,如果我调用以下方法:
cls.color("yellow")
颜色方法应使用黄色网页元素。
由于我有 n 种颜色类型,因此我不想在颜色方法中使用 if
条件。
请问如何使用字符串变量来标识相应的网络元素。 另外我不想将 webelement 声明为 public。
最佳答案
如果您要多次对 yellow
字段执行其他颜色的操作,并且需要通过 CSS 选择器查找它们,那么我建议您使用 Map
,并且使用循环来查找它们。
private Map<String, WebElement> colors = new HashMap<>();
{
final String[] COLOR_MAPS = {
"#yel", "yellow",
"#red", "red",
"#grn", "green" };
for (int i = 0; i < COLOR_MAPS.length; i += 2)
colors.put(COLOR_MAPS[i + 1], Driver.findElement(By.cssSelector(COLOR_MAPS[i])));
}
public void color(String color) {
WebElement elem = colors.get(color);
if (elem == null)
throw new IllegalArgumentException("Unknown color: " + color);
...
}
关于java - 如何在类中使用字符串作为变量传递字符串作为参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60964086/