簡體   English   中英

如何在Cocoa中從Webview獲取HTML元素?

[英]How to get HTML element from Webview in Cocoa?

我正在嘗試從Webview獲取HTML元素,我嘗試了現有的StackOverflow答案,但對我來說不起作用。

從Cocoa中的WebView獲取源HTML-對我不起作用。

@IBOutlet var FacebookWebview: WebView!

let someHTML = FacebookWebview.stringByEvaluatingJavaScript(from: "document.getElementsByClassName('linkWrap noCount')[0].innerHTML;") as NSString?

print("FetchUser:-\(someHTML)")
 HTML element --> <div dir="ltr" class="linkWrap noCount">Result</div> 

linkWrap noCount是我的班級名稱。

結果是字符串的值。 -在這里我空了。

任何幫助將不勝感激。

嘗試這個:

let html = yourWebView.stringByEvaluatingJavaScriptFromString("document.documentElement.outerHTML")

目標C

-(BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request    navigationType:(UIWebViewNavigationType)navigationType 
{

    if (navigationType == UIWebViewNavigationTypeLinkClicked) {

        [[UIApplication sharedApplication] openURL:[request URL]];

        return NO;
    }

    return YES;

}

- (void)webViewDidFinishLoad:(UIWebView *)webView

{

    // JS Injection hack to solve the target="_blank" issue and open a real browser in such case.

    NSString *JSInjection = @"javascript: var allLinks = document.getElementsByTagName('a'); if (allLinks) {var i;for (i=0; i<allLinks.length; i++) {var link = allLinks[i];var target = link.getAttribute('target'); if (target && target == '_blank') {link.setAttribute('target','_self');link.href = 'newtab:'+link.href;}}}";

    [webView stringByEvaluatingJavaScriptFromString:JSInjection];

}


 - (void)VideoButton_Click:(id)sender{


        @try {


            NSString *url=@"Write link here";

            [videowebView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:url]]];

             videowebView.scrollView.bounces = NO;
            [videowebView setMediaPlaybackRequiresUserAction:NO];

        }
        @catch (NSException *exception) {

        }

    }

暫無
暫無

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

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