首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

浏览器控件,自动登录指定站点,新窗口超链接打开有关问题

2012-10-30 
浏览器控件,自动登录指定站点,新窗口超链接打开问题,编写一程序,自动登录若干网站。采用如下代码可自动登录

浏览器控件,自动登录指定站点,新窗口超链接打开问题,
编写一程序,自动登录若干网站。

采用如下代码可自动登录公司OA

Delphi(Pascal) code
webOA.Navigate('http://OA访问地址');  while webOA.busy do Application.ProcessMessages;  while webOA.ReadyState <>READYSTATE_COMPLETE do Application.ProcessMessages;  UserEdt := (webOA.Document as IHTMLDOCUMENT2).all.item('userName',emptyParam) as IHTMLELEMENT;  UserPwd := (webOA.Document as IHTMLDOCUMENT2).all.item('pwd',emptyParam) as IHTMLELEMENT;  LogBtn := (webOA.Document as IHTMLDOCUMENT2).all.item('btnLogin',emptyParam) as IHTMLELEMENT;  UserEdt.setAttribute('value','账号',0);  UserPwd.setAttribute('value','密码',0);  LogBtn.Click;


但由于点击登录按钮后,页面是从新窗口打开登录后的界面。而这里是delphi的webbrowser控件。
所以会从新建的ie浏览器窗口打开已登录页面。
但出现以下问题:
  有些网站登录后,在新开的IE显示正确登录结果。
  有些网站点登录后,在新开的IE中显示未登录的提示,貌似程序控件中的Session未带出来。

不知道该如何处理?????
或者有没有方法可以在delphi程序中直接调用系统的ie浏览器打开指定网站。
并且delphi程序可以直接读写该页面中的控件值或其他内容。以及调用页面中的客户端脚本
实现自动填写表单登录网站的功能呢?



[解决办法]
如果你使用WebBrowser的话,实际是调用IE的内核,Cookie和Session与IE是共用的。

建议你在WebBrowser的OnNewWindows2事件中截获打开新窗口的消息,然后把新窗口显示到另一个WebBrowser中。
[解决办法]
首先确定多次点击登录企业邮箱的按钮,提交的URL是正确的。

热点排行