• 主页
  • 招聘
  • 语言基础/算法/系统设计
  • 数据库相关
  • 图形处理/多媒体
  • 网络通信/分布式开发
  • VCL组件开发及应用
  • Windows SDK/API

webbrowser的问题,困扰多日啊!

yaos 2011-02-23 05:18:07
wenwen.soso.com这个网站,点登录,出现登录窗口,是个div层,而且似乎是用JavaScript生成的,我试图写个代码,自动登录这个网站。悲剧的是,对WebBrowser的DOCUMENT进行枚举无法找到对应的输入的项,输入项有两个u,输入 QQ号, p输入密码,竟然搜索不到

我想知道,对这个网页,如何自动填入 u 为QQ号,p为密码,并点击登录,登录网站。
要用WebBrowser实现,其他方式都不稳定。多谢。
...全文
134 点赞 收藏 9
写回复
9 条回复
devhp 2011年02月26日
點擊登陸后網頁的最後面會生成一個框架頁,其地址就是一個單純的登陸頁
http://wenwen.soso.com/PopLogin.htm

你可以直接打開這個頁面去操作.或者先自動點擊一次登陸.再操作當前網頁框架中的元素
回复 点赞
guaiqiqi 2011年02月26日
不包括j s 生成的 document.outerHTML;
包括j s 生成的(也就是全部)document.documentElement.outerHTML;
回复 点赞
yaos 2011年02月25日
问题是,如果他考虑了安全原因,肯定加密了数据,然后,就不存在通用性了。难道要去研究他加密方法?
回复 点赞
xhh_88 2011年02月25日
找到上面那个层的地址(http://ui.ptlogin2.soso.com/cgi-bin/login?link_target=blank&appid=6000201&f_url=loginerroralert&hide_uin_tip=1&target=self&qtarget=0&hide_title_bar=1&s_url=http%3A%2F%2Fwenwen.soso.com%2Fz%2FPopLogin.htm)

WebBrowser直接连接上面的地址就可以找到你需要的输入框控件了!
回复 点赞
bdmh 2011年02月24日
考虑抓包,然后看看其提交的信息,然后idhhtp进行提交
回复 点赞
yaos 2011年02月24日
你只要告诉我如何填写就行了,验证码不是每次都出的
回复 点赞
sharebei 2011年02月24日
放弃吧,登陆是需要验证码的。

所以你填写与否都难识别验证码的。
回复 点赞
yaos 2011年02月23日
这个会弹出登录框来

procedure TMainForm.AutoLogon;
var
document: IHTMLDocument2;
Element: IHTMLElement;
Anchors: IHTMLElementCollection;
I: Integer;
sLink: string;
begin
sLink := 'http://wenwen.soso.com/z/LLogin.e';
Document := Webbrowser.Document as IHTMLDocument2;
if Assigned(Document) then
begin
Anchors := Document.Get_links;
//遍历所有链接
for i := 0 to Anchors.length - 1 do
begin
Element := Anchors.item(i, varempty) as IHTMLElement;
if Assigned(Element) and (UpperCase((Element as IHTMLAnchorElement).href) = UpperCase(sLink)) then
begin
Element.click;
break;
end;
end;
end;
end;
回复 点赞
一剑飘雪 2011年02月23日
我只知道这个办法
(WebBrowser1.Document as IHTMLDocument2).parentWindow.execScript('ff()', 'javascript')
回复 点赞
发动态
发帖子
Delphi
创建于2007-08-02

1469

社区成员

26.2w+

社区内容

Delphi 开发及应用
社区公告
暂无公告