2017-04-21 35 views
0

我正在使用UIWebView來顯示網站。當用戶按下一個按鈕時,會創建一個struct,其中包含URL,標題和圖像。在UIWebView中使用JavaScript-Swift 3.0

爲標題,我用let titleFromJS = mainWebView.stringByEvaluatingJavaScript(from: "document.querySelector(\".c-page-title\").textContent;")!

但是,對於圖像,它很難。圖像鏈接包裝在<source srcset>中,並且包裝在<picture>容器中。我想通過班級ID找到它是c-picture,但我不知道如何獲取源容器的內容。

任何人都可以幫助我嗎?任何幫助將非常感謝!非常感謝!

乾杯, 西奧 source

回答

0

儘量避免使用武力,展開從第一JS陳述你的結果,否則您的應用程序會崩潰應該是元素不存在。如果mainWebView.stringByEvaluatingJavaScript的結果爲nil,則返回的警戒聲明可能是更好的選擇。

guard let titleFromJS = mainWebView.stringByEvaluatingJavaScript(from: "document.querySelector(\".c-page-title\").textContent;") else { 
    return 
} 

要訪問圖片的來源,你可以從picture元素裏面的img元素得到它:document.querySelector('.c-picture > img')]0].currentSrc

+0

感謝您的提示,但您的答案似乎沒有奏效。當我檢查元素時,我附加了html源代碼的圖像。這有幫助嗎? –

+0

讓我知道它現在是否有效。我將'#c-picture'改爲'.c-picture'。 – mattsven