0

是否可以获取数组中某个字段的字段历史(如果存在)或 selenium 中的此类字段?比如user id字段,我可以看到目前为止使用过的所有ID。

我想使用它的目的是快速创建以前没有使用过的新 ID。例如testID45已经采取了,所以我将使用testID46创建一个新的。这是一种在不跟踪已获取 ID 的情况下填写表格的懒惰方式。

4

1 回答 1

1

我不完全理解您为什么要使用 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

这篇文章中还有许多其他生成字符串的方法,您也可以参考。

于 2015-08-19T15:54:44.900 回答