http://show.qq.com/my/inc/friend_user_info.html?uin=123456
如何获取页面上[已开通]?来判断是否某钻会员?
Memo1.Lines.Text :=IDHttp1.Get('http://show.qq.com/my/inc/friend_user_info.html?uin='+Edit1.Text);
小弟没弄过,只知道做到这一步,请各位指点指点
如何获取页面上[已开通]?来判断是否某钻会员?
Memo1.Lines.Text :=IDHttp1.Get('http://show.qq.com/my/inc/friend_user_info.html?uin='+Edit1.Text);
小弟没弄过,只知道做到这一步,请各位指点指点
解决方案 »
- 如果数据表中的某个字段中已有数据,执行插入语句后会出现什么问题?
- 请问到哪下载FAST REPORT?
- 请bobo2856(bobo)和12rain(中雨~百年孤独)来领分
- 请教:在ListView中怎样可以任意拖动这些图标呢?多谢!
- 如何使用API函数设置外部程序运行后显示的大小和显示的位置?????
- 查询字段的问题,请各位多多指教
- 怎么取得TWebBrowser浏览的页面里的值
- 难道没人知道啊????请教各位了
- 怎样使用柯达扫描控件?
- password form main form 160分!!!160分!!!
- 请教各位,用定时器定时刷新数据库一个表,程序会假死很慢的现象,不知怎样解决,谢谢
- listview
ret: string; ret := IDHttp1.Get('http://show.qq.com/my/inc/friend_user_info.html?uin='+Edit1.Text);
if Pos('红钻贵族:已开通', ret) > 0 then
ShowMessage('红钻贵族已经开通');
function init()
{
var uin = parseInt(getURLParam("uin"));
function getSucc(x)
{ //alert(x.xml)
document.getElementById("ID_name").innerHTML= x.getElementsByTagName("node")[0].getAttribute("nick").escHtml();
document.getElementById("ID_uin").innerHTML = uin;
document.getElementById("ID_show").innerHTML =QQSHOW_avShow(x.getElementsByTagName("node")[0].getAttribute("show"),140,226);;
document.getElementById("ID_rand_href").href="/my/inc/friend_rank.html?uin="+uin;
if ( x.getElementsByTagName("node")[0].getAttribute("vip")==1)
{
document.getElementById("ID_red").innerHTML= "已开通";
}
if ( x.getElementsByTagName("node")[0].getAttribute("viphome")==1)
{
document.getElementById("ID_yellow").innerHTML= "已开通";
}
if ( x.getElementsByTagName("node")[0].getAttribute("vipgame")==1)
{
document.getElementById("ID_blue").innerHTML= "已开通";
}
procedure TForm1.FormCreate(Sender: TObject);
begin
tmrAfterComplete.Enabled := False;
tmrAfterComplete.Interval := 100;
end;procedure TForm1.Button1Click(Sender: TObject);
begin
tmrAfterComplete.Enabled := False;
WebBrowser1.Navigate(''http://show.qq.com/my/inc/friend_user_info.html?uin='+Edit1.Text);
end;procedure TForm1.WebBrowser1DocumentComplete(Sender: TObject; const pDisp: IDispatch; var URL: OleVariant);
begin
//在DocumentComplete之后打开一个定时器, 以便让Document内的脚本有机会执行完毕
tmrAfterComplete.Enabled := True;
end;procedure TForm1.tmrAfterCompleteTimer(Sender: TObject);
begin
tmrAfterComplete.Enabled := False;
//现在可以通过getElementByID来获取所需的文字了
Memo1.Lines.Add('红: ' + WebBrowser1.OleObject.document.getElementByID('ID_red').innerText);
Memo1.Lines.Add('黄: ' + WebBrowser1.OleObject.document.getElementByID('ID_yellow').innerText);
Memo1.Lines.Add('蓝: ' + WebBrowser1.OleObject.document.getElementByID('ID_blue').innerText);
end;
ret: string; ret := IDHttp1.Get('http://show.qq.com/my/inc/friend_user_info.html?uin='+Edit1.Text);
if Pos('document.getElementById("ID_red").innerHTML= "已开通";', ret) > 0 then
ShowMessage('红钻贵族已经开通');
你这个代码还是错误的。
'document.getElementById("ID_red").innerHTML= "已开通";' 是这个网页脚本中的一部分, 这部分是永远存在的。
procedure TForm1.WebBrowser1DocumentComplete(Sender: TObject;
const pDisp: IDispatch; var URL: OleVariant);
begin
//在DocumentComplete之后打开一个定时器, 以便让Document内的脚本有机会执行完毕
if WebBrowser1.Application = pDisp then
begin
// Text := '网页下载完毕!';
tmrAfterComplete.Enabled := True;
end;
end;
tmrAfterComplete还没加载完毕就执行了,导致有时候数据出错。修改tmrAfterComplete的间隔是可以泥补这BUG,但会导致查得慢。请问怎么让WebBrowser1全部加载完毕再执行tmrAfterComplete里的事件呢
这一段代码你有没有写上?procedure TForm1.FormCreate(Sender: TObject);
begin
tmrAfterComplete.Enabled := False;
tmrAfterComplete.Interval := 100;
end;