2009-05-31 37 views
1

我正在編寫硒測試。使用XPath查詢html標記

我在那裏有一個標籤「分配設計器」,緊跟在標籤後面的選擇框。 不幸的是,選擇框有動態ID,我無法通過ID或任何其他屬性查詢它。

我可以構建XPath查詢,該查詢返回「文本之後的首選標籤」Assign Designer'「?

PS。硒僅支持的XPath 1.0

回答

3

這將是這樣的:

//label[text() = 'Assign Designer']/following-sibling::select[1] 

需要注意的是:

  • 的//速記是非常低效的,因爲它會導致廣泛的文檔掃描。如果您可以對標籤的位置更具體,我建議您這麼做。但是,如果文件很小,這不會成爲問題。
  • 因爲我對Selenium不太瞭解,所以我使用了「標籤」。如果不是<label>,當然應該使用實際的元素名稱。 ;-)
  • 無論何時使用像「following-sibling」這樣的軸,一定要包含一個位置謂詞(在這種情況下爲[1])。這很容易被人遺忘,如果是這樣,你的表情可能會產生意想不到的結果。
+0

XPath 1.0規範支持'以下兄弟'嗎? – 2009-05-31 19:03:43