ios 怎样获取当前web的url

ios 怎样获取当前web的url,第1张

[objc]

@property (strong,nonatomic)UIWebView webView;

@property (strong,nonatomic)NSString currentURL;

@property (strong,nonatomic)NSString currentTitle;

@property (strong,nonatomic)NSString currentHTML;

[objc] view plaincopy

---------------------------------

[objc]

[objc]

-(void) webViewDidFinishLoad:(UIWebView )webView {

[UIApplicationsharedApplication]networkActivityIndicatorVisible =NO;

selftitle = [webViewstringByEvaluatingJavaScriptFromString:@"documenttitle"];//获取当前页面的title

selfcurrentURL = webViewrequestURLabsoluteString;

NSLog(@"title-%@--url-%@--",selftitle,selfcurrentURL);

NSString lJs = @"documentdocumentElementinnerHTML";//获取当前网页的html

selfcurrentHTML = [webView stringByEvaluatingJavaScriptFromString:lJs];

}

这是一幅整图,由于太大,本人就截成三个小图了;

通过上图的详细的步骤说明,我们清楚的指导我们要怎么做了;我们切换到代码片段:

2:

这是本人的项目结构,在Common文件夹里面有一个显眼的文件GatherWebBrowsercs这是本人对WebBrowser控件进行了一层简单的封装,就是在里面加上了一些事件参数,这个文件下面有一个GatherWebBrowserArgscs文件,这个是WebBrowserDocumentCompletedEventArgs对象的配送对象;

3:

这个对象的目的就是将DocumentCompleted事件分离出来,让我们处理N层跳转的时候能很方便; 由于代码较多,我们就看几个关键的地方,能帮大家理清一个头绪就行了;

4:

这个是我们Winform窗口,WebBrowser控件就是我封装的那个控件,大家请注意,在我们层层跳转到最后的采集页面时,我们要将事件链中的第一个事件断开,为什么要断开,是因为我们的WebBrowser控件的DocumentCompleted事件总是会在网页加载完毕后触发,一旦当我们进入到采集生命周期中的时候,这部分的逻辑我们是不需要在处理的,这里就涉及到一个技术细节“委托链”,如果对这方面的东西不太了解的话,请查阅本人的“NET简谈委托链”一文;

由于数据采集逻辑比较复杂,特别是自动数据采集,需要处理很多逻辑问题,这些东西都是因需求不同而不同,所以本人也只能讲解到这个层度了,大概的实现方式都是这样的,只要我们去慢慢的分析前后关系,HTML的组织,我相信肯定能写出好的数据采集;在下面的一篇文章中我将要通过WebBrowser实现与网页交互的系统,这方面的需求也是我们经常碰到的,比如我们有一个C/S的系统,但是我们的C/S系统要依附于B/S的系统,需要将我们的C/S系统的数据作为B/S系统的 *** 作条件,在输入查询条件的时候,我们需要调用我们的Winform窗口,进行数据查询,然后将我们的Winform结果填到HTML的文本框中;请读者继续关注,谢谢;

如果只是要实现点击下按钮的话应该可以

你可以遍历所有控件,然后判断是INPUT,判断是BUTTON类型,然后判断ID(通过网站源代码看)是不是这个按钮的,然后就check()就可以了。

C/C++ code

MSHTML::IHTMLElementCollection objAllElement=NULL;

MSHTML::IHTMLDocument2 objDocument=NULL;

CString strUrl,strTemp;

strUrl=m_ctrlWebGetLocationURL();//得到当前网页的URL

if(strUrlIsEmpty())

return;

objDocument=(MSHTML::IHTMLDocument2 )m_ctrlWebGetDocument(); //由控件得到IHTMLDocument2接口指针

objDocument->get_all(&objAllElement); //得到网页所有元素的集合

//由于所有页面下载完后都会执行这个函数,所以必须根据URL判断消息来源网页

正确的方法是:>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 401 Transitional//EN"

">

<script language="javascript">

var c=windowlocationtoString(); //获取当前页面的URL

if(cindexOf("")!=-1){ //在当前页面的URL中查找 字符 如果存在 号 则执行括号里面的内容

var i=csplit("")[1]; //提取号后面的所有参数 比如当前的地址是=' >

以上就是关于ios 怎样获取当前web的url全部的内容,包括:ios 怎样获取当前web的url、如何C# webbrowser中获取运行脚本模拟点击后跳转页的url、请教vc中用cwebBrowser2控件实现网页模拟点击的问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9490839.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存