我知道我可以通过id
找到元素:
driver.findElement(By.xpath("//*[@id='some_id']"));
我可以使用此id
找到所有元素,但我想查找具有id
属性的所有元素。我正在寻找类似的东西:
driver.findElements(By.xpath("//*[@id]"));
// or
driver.findElements(By.xpath("//*[@id='*']"));
// or
driver.findElements(By.xpath("//*[contains(@id)]"));
我正在使用Java。谢谢!
UPD:我唯一的解决方案是通过"//*"
获取所有元素,浏览它们并获取id
属性。有没有办法一次性获取所有属性,例如来自Java的"//*@A"
?
答案 0 :(得分:1)
元素的属性A,其中A包含't'
//E[contains(@A,'t')]/@A
或
//E[contains(@A,'t')]@A
任何元素的属性A
//*/@A
或//*@A
所以我也使用java。因此,如果您需要查找具有id属性的所有元素,您只需使用
即可driver.findElements(By.xpath(//*@id))
希望这会对你有所帮助。 另外看here。适用于xpath和css选择器的精彩手册
答案 1 :(得分:1)
你试过"//*[contains(@id, '')]"