UIWebView - 如何从 Facebook 等网页中提取 HTML 代码?

Posted

技术标签:

【中文标题】UIWebView - 如何从 Facebook 等网页中提取 HTML 代码?【英文标题】:UIWebView - how to extract the HTML code from webpages like Facebook? 【发布时间】:2012-02-06 07:43:51 【问题描述】:

我有一个源代码示例,它以编程方式设置 html 中字段的值。

部分源码如下:

- (void)viewDidLoad

[super viewDidLoad];

myWebView.delegate = self;

//---formulate the HTML string---
NSString *str = [[[NSString alloc] initWithString:
                @"<html>"
                 "    <body>"
                 "        <h1>The fields below are filled in programmatically</h1>"
                 "        <input id='username' value='UserName' />"
                 "        <input id='password' value='Password' type='password' />"
                 "    </body>"
                 "</html>"
                 ] autorelease];

//---load the UIWebView with the html string---
[myWebView loadHTMLString:str baseURL:nil];


//---wait for the UIWebView to finish loading---
- (void)webViewDidFinishLoad:(UIWebView *)webView 
//---access the 2 fields in the HTML---
[myWebView stringByEvaluatingjavascriptFromString:@"document.getElementById('username').value='Wei-Meng Lee';"];
[myWebView stringByEvaluatingJavaScriptFromString:@"document.getElementById('password').value='TopSecret';"];

我想在像 Facebook 这样的实际网页中以编程方式设置字段的值,而不是像上面写的那样自定义 HTML。

我应该如何将“str”替换为实际网页的 html 源代码,以便我可以挑选出“ElementbyId”?

【问题讨论】:

您正在寻找从 URL 而不是 HTML 打开网页? 我想从一个 URL 打开一个网页并能够使用 stringByEvaulatingJavaScriptFromString 函数。 【参考方案1】:

通过替换

//---formulate the HTML string---
NSString *str = [[[NSString alloc] initWithString:
            @"<html>"
             "    <body>"
             "        <h1>The fields below are filled in programmatically</h1>"
             "        <input id='username' value='UserName' />"
             "        <input id='password' value='Password' type='password' />"
             "    </body>"
             "</html>"
             ] autorelease];

//---load the UIWebView with the html string---
[myWebView loadHTMLString:str baseURL:nil];

使用[UIWebView loadRequest],它将使用 URL 加载 Web 视图,并且 UIWebView 将包含 HTML 以使 stringByEvaluatingJavaScriptFromString 工作。

【讨论】:

以上是关于UIWebView - 如何从 Facebook 等网页中提取 HTML 代码?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 UIWebView 中使用 Facebook 评论插件

如何在 iOS UIwebview 中获取 Facebook 访问令牌?

如何在 UIWebView 中访问公共 Facebook 个人资料

如何避免在我的 UIWebView 中询问 facebook 的用户名和密码?

UIWebview 和 facebook 墙

在 UIWebView 中播放 facebook 视频