2013-08-21 48 views
0

我剛剛開始在我的HTML5網絡應用程序中使用java編寫一些硒自動測試。我想知道是否有可能,而不是將id屬性添加到所有內容中,以id搜索div中的多個項目。Selenium - 在父項內搜索項目

例如,我有一個dividsfn-PopupMenu。有幾個項目class="gwt-MenuItem"role="menuitem"。我希望能夠找到並控制每一個這些,而不會給他們個別的ID。

這可能嗎?或者我應該只是把id放在一切。

感謝,

克里斯

+0

雖然可以獲取父WebElement,然後以編程方式走WebElement孩子,我不建議這樣做。它每次訪問WebElement時都會非常緩慢地驗證它(WebElement是代理)。舉個例子,我們有一張有20行的表格。我嘗試通過從頂部表格元素開始走WebElement樹將內容轉換爲簡單的POJO,並花了2分鐘。 – tdrury

回答

1

硒,您還可以通過CSS selectorsXPath expressions搜索元素。沒有實際的HTML代碼,很難說這裏最好的是什麼。但總的來說,你應該首先嚐試使用ID,然後CSS,如果XPath不可行的話。

也許你可以做這樣的事情:

driver.findElements(By.cssSelector("#sfn-PopupMenu .gwt-MenuItem"));