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);
小弟没弄过,只知道做到这一步,请各位指点指点
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;