簡體   English   中英

如何檢查Jsoup中元素的可見性?

[英]How to check the visibility of an element in Jsoup?

我在Jsoup Element中找不到像isDisplayed()這樣的直接方法。 我可以使用以下代碼檢查type = "hidden"的輸入。

"HIDDEN".equals(elm.attr("type").toUpperCase())

但是我需要隱藏的CSS才能被捕獲。 還有繼承的隱藏元素。

Pshemo說他已經在評論中說:JSOUP不是JavaScript解釋器。 並且JSOUP沒有將外部CSS信息組合到html中。 JSOUP只是解釋html,它非常擅長。 沒有更多,但也沒有更多。 您還可以訪問互聯網並使用JSOUP加載html頁面,但這確實是它的限制。

關於你的問題:如果真的需要知道一個元素是可見的還是隱藏的,你應該認真思考。 如果它在您的上下文中,您可能需要一個行為類似於瀏覽器的測試框架。 對於Java,有很好的綁定到selenium webdriver 這驅動真實的瀏覽器加載和測試頁面。 你也可以用硒刮掉內容物。 我有很好的經驗,使用selenium訪問Web內容,然后切換到JSOUP實際抓取。 在您的情況下,您可以直接使用強大的webdriver API來查明元素是否隱藏。

Selenium webdriver能夠與Firefox,Chrome和許多其他瀏覽器一起使用。 如果您需要輕量級替代品,您可以使用無頭瀏覽器。 為此,存在PhantomJs ,它很好地受到硒的支持。 HTMLUnit ,它甚至更輕,並使用Java Rhino解釋器的JavaScript。

你知道,有很多選擇可供選擇,以實現你想要的。 只是沒有JSOUP,雖然它是一個很棒的圖書館。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM