作爲一個例子,一些html有幾個元素具有css路徑table.class1.class2[role="menu"]
但是在任何給定時間只有其中一個元素可見,所以我只想得到一個可見的元素。 我可以調整我的css路徑以縮小它的範圍嗎?有沒有辦法用css過濾掉隱藏的元素?
0
A
回答
0
可能使用Linq
來獲取列表。我不確定您使用的是哪種語言。但是,類似的概念可以應用於其中任何一個。使用Linq
來完成這種情景是C#
public IWebElement Test()
{
//selector
By bycss = By.CssSelector("table.class1.class2[role='menu']");
return Driver.FindElements(bycss).ToList().FirstOrDefault(d => d.Displayed);
}
非常簡單,確保進口 using System.Linq;
如果您正在使用C#
在Java中,你可以做這樣的事情[未使用lambda表達式]
List<WebElement> visibleList = null;
//selector
By byCss = By.cssSelector("table.class1.class2[role='menu']");
//list of visible and hidden elements
Iterator<WebElement> iterator = driver.findElements(byCss).iterator();
while (iterator.hasNext()){
WebElement element = iterator.next();
if (element.isDisplayed()){
//building the list of visible elements
visibleList.add(element);
}
}
//get the first item of the list
//you can return all if needed
return visibleList.get(0);
-1
在Java中,你可以使用WebElement.isDisplayed()
。
相關問題
- 1. 有沒有辦法顯示/隱藏沒有CSS的元素?
- 2. 有沒有辦法過濾掉數組中出現多次的元素?
- 3. 隱藏一個沒有CSS的元素
- 4. 有沒有辦法隱藏沒有CSS的按鈕值?
- 5. 螢火蟲,檢查元素等有沒有辦法隱藏它?
- 6. 有沒有辦法在IFRAME src頁面中隱藏元素?
- 7. 有沒有辦法檢測HTML元素何時被隱藏?
- 8. 隱藏掉落的元素
- 9. 有沒有辦法過濾jQuery中沒有觸發事件的匹配元素?
- 10. 有沒有辦法隱藏JavaScript代碼?
- 11. 有沒有辦法隱藏'System.Windows.Forms.ListBox()'邊框?
- 12. 有沒有辦法隱藏Javascript評論?
- 13. 有沒有辦法隱藏Vaadin通知?
- 14. 使用magellan-nightwatch,有沒有辦法斷言某些元素被隱藏/顯示?
- 15. MDX:Drillthough沒有過濾掉行
- 16. 使用BeautifulSoup刮掉隱藏的元素
- 17. 有沒有辦法模仿photoshop的CSS疊加過濾器?
- 18. 隱藏HTML元素無javascript,只有CSS
- 19. 用CSS過渡隱藏元素離屏
- 20. 沒有閃光的隱藏元素
- 21. 有沒有辦法使用CSS來顯示/隱藏不是兄弟姐妹的元素?
- 22. 有沒有辦法異步過濾IList?
- 23. 當支持佔位符屬性時有沒有辦法隱藏標籤元素?
- 24. 隱藏父元素時,有沒有匹配的子元素
- 25. 有沒有什麼辦法可以「隱藏」隱藏Angular的最後一個元素的html表格?
- 26. 有沒有辦法檢查所有表單元素,然後使用jQuery過濾特定的選擇元素?
- 27. 有沒有辦法通過使用httpwebrequest的ID獲取元素?
- 28. 爲什麼過濾器隱藏了所有的元素?
- 29. 有效的方式來過濾和隱藏TR元素
- 30. 有沒有辦法限制一個HTML元素的CSS類?
但是,您可以使用'Selenium' api – Saifur
來取代他們隱藏的方式 – CupawnTae
@Saifur我如何使用Selenium? – JDOdle