1

我知道我可以通过以下方式找到元素id

driver.findElement(By.xpath("//*[@id='some_id']"));

我可以找到所有带有 this 的元素id,但我想找到带有id属性的所有元素。我正在寻找类似的东西:

driver.findElements(By.xpath("//*[@id]"));
// or
driver.findElements(By.xpath("//*[@id='*']"));
// or
driver.findElements(By.xpath("//*[contains(@id)]"));

我正在使用 Java。谢谢!

UPD:对我来说唯一的解决方案是通过 获取所有元素"//*",遍历它们并获取它们的id属性。有没有办法一次获取所有属性,比如"//*@A"从 Java 中获取?

4

2 回答 2

1

A 包含“t”的元素的属性 A

//E[contains(@A,'t')]/@A 

或者

//E[contains(@A,'t')]@A 

任何元素的属性 A

//*/@A 

或者//*@A

所以我也用java。因此,如果您需要查找具有 id 属性的所有元素,您可以简单地使用

driver.findElements(By.xpath(//*@id))

希望这对您有所帮助。也看这里。不错的 xpath 和 css 选择器手册

于 2012-10-12T09:55:45.500 回答
1

你有没有尝试过"//*[contains(@id, '')]"

于 2012-12-20T19:13:11.213 回答