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

やってみました"//*[contains(@id, '')]"

于 2012-12-20T19:13:11.213 に答える
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 に答える