是否可以获取数组中某个字段的字段历史(如果存在)或 selenium 中的此类字段?比如user id字段,我可以看到目前为止使用过的所有ID。
我想使用它的目的是快速创建以前没有使用过的新 ID。例如testID45
已经采取了,所以我将使用testID46
创建一个新的。这是一种在不跟踪已获取 ID 的情况下填写表格的懒惰方式。
是否可以获取数组中某个字段的字段历史(如果存在)或 selenium 中的此类字段?比如user id字段,我可以看到目前为止使用过的所有ID。
我想使用它的目的是快速创建以前没有使用过的新 ID。例如testID45
已经采取了,所以我将使用testID46
创建一个新的。这是一种在不跟踪已获取 ID 的情况下填写表格的懒惰方式。
我不完全理解您为什么要使用 Selenium 创建 ID。如果您要发布有关您要解决的问题的更多信息,我可以尝试提供更好的答案。
如果你想从现有元素中提取 ID,你可以这样做。这会查找所有INPUT
指定了 ID 的元素并写出 ID。您可以解析 ID,然后确定接下来要使用的 ID。我不建议这样做,因为只生成一个唯一的新 ID 会更快,但也许您出于某种原因需要它。
List<WebElement> ids = driver.findElements(By.cssSelector("input[id]"));
for (WebElement id : ids)
{
System.out.println(id.getAttribute("id"));
}
我建议生成一个您自己的格式的新 ID,该 ID 在页面上是唯一的。这应该足以满足您的目的。
Random rnd = new Random();
String id = Long.toHexString(rnd.nextLong());
System.out.println("testID-" + id); // e.g. testID-cb8e7bac29ec7c7a
这篇文章中还有许多其他生成字符串的方法,您也可以参考。