http://item.taobao.com/auction/item_detail-db2-f09c3b982ddcd482be4f09b2dfa6f56b.htm
我想程序中获取此宝贝详情里面的html代码,跟踪网页源代码只看到一句:
<DIV class=content id=J_DivItemDes>读取中...</DIV>
然后我把网页保存下来,在.files的文件夹里面查找包含J_DivItemDes的文件,看到有两个文件detail.css,detail.js引用这个id,js的内容太多,我只贴其中一段:
                {
                    imgVip: $("J_ImgVip"), valVipPrices: null, liSafety: $(
                        "J_LiSafety"), imgBooth: $("J_ImgBooth"), ulThumb: $(
                        "J_UlThumb"), strPrice: $("J_StrPrice"), spanStock: $(
                        "J_SpanStock"), linkBuy: $("J_LinkBuy"), dlChoice: $(
                        "J_DlChoice"), iptAmount: $("J_IptAmount"), frmBid: $(
                        "J_FrmBid"), valItemInfo: {}
                    , linkAdd: $("J_LinkAdd"), apiAddCart:
                        "./assets/testData/cart.php", valCartInfo: {}
                    , linkCombo: $("J_LinkCombo"), ulCombo: $("J_UlCombo"),
                        ulChoice: $("J_UlChoice"), ulPrice: $("J_UlPrice"),
                        divDetail: $("J_Detail"), valExpanded: false,
                        valFastBuyUrl: "", spanVip: $("J_SpanVip"), valVipRate:
                        0, emPoint: $("J_EmPoint"), valPointRate: 0,
                        valTimeLeft: 0, emCountdown: $("J_EmCountdown"),
                        emCountdown2: $("J_EmCountdown2"), divItemDesc: $(
                        "J_DivItemDesc"), apiItemDesc: "", emItemViews: $(
                        "J_EmItemViews"), apiItemViews: "", apiWangWang:
                        "http://assets.taobaocdn.com/sys/wangwang/tbww_v1.2.js",
                        valItemIdStr: "", valFlashUrl: "", valLoginUrl: "",
                        apiSafetyTips:
                        "http://www.taobao.com/go/rgn/sale/tips_data_detail.php", linkSafetyTips: $("J_SafetyTipsLink"), valShowReviews: false, valReviewsUrl: "", linkReviewTrigger: $("J_ReviewTabTrigger"), apiMallReviews: "", valPostFee: {}
                    , itemViewed: $("J_itemViewed"), cookieDomain: $(
                        "J_cookieDomain"), valMode: 0
                }

解决方案 »

  1.   

    在地址栏中打入:
    javascript:alert(document.body.innerHTML); //可以看到页面运行完成的 HTML;
    javascript:alert(document.getElementsByTagName('div')[0].innerHTML); //查看页面中页面运行完成后第6个div的HTML内容其他楼主自己弄吧
      

  2.   

    错了,
    javascript:alert(document.getElementsByTagName('div')[0].innerHTML); //查看页面中页面运行完成后第1个div的HTML内容 
      

  3.   

    好像页面中没有你说的那 div id
    javascript:alert(document.getElementById('J_DivItemDes').innerHTML);
    //提示缺少对象,从哪看到的这个对象id?
      

  4.   

    呵呵,不好意思,我把调试过程的变量给帖上去了,正确那个ID是J_DivItemDesc,我试了下,可以查到ID的HTML内容,不过您的这种写法只是弹出式,我怎么在程序中获取呢?
      

  5.   

    高手能说这个html的内容和图片分别是存放在哪里?我在保存下来的.file文件夹没看到,另外我把网线拔出来,还是可以读出来。
      

  6.   

    页面中你说的那 div id ='J_DivItemDes' 应该是在获取数据完成后被替换掉了// 用下面这个可以看到 宝贝详情里面的html代码
    javascript:alert(document.getElementById('detail-other').innerHTML); 
      

  7.   

    你是在什么程序中获取?是网站程序?
    这些内容的获取及显示需要 javascript 支持,如果是跨站获取,要保证浏览器的安全级别允许你可以访问。
      

  8.   

    谢谢各位的热心解答,问题已经解决。我是用Delphi中读取,顺便帖出部分代码:
    procedure TForm1.Button1Click(Sender: TObject);
    var
      Doc:IHTMLDocument2;
      Fdiv:IHTMLElement;
    begin
      WebBrowser1.Navigate('http://item.taobao.com/auction/item_detail-db2-f09c3b982ddcd482be4f09b2dfa6f56b.htm');
      while WebBrowser1.ReadyState<>4 do
        Application.ProcessMessages;  Doc:=WebBrowser1.Document as IHTMLDocument2;
      Fdiv:=Doc.all.item('J_DivItemDesc',varEmpty) as IHTMLElement;
      ListBox1.Items.Text :=  (Fdiv.innerText);
    end;