[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控件实现网页模拟点击的问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)