首页 >web前端 >html教程 >【Jsoup】doc.getElementsByTag("img");无法获得验证码图片<img/>_html/css_WEB-ITnose

【Jsoup】doc.getElementsByTag("img");无法获得验证码图片<img/>_html/css_WEB-ITnose

WBOY
WBOY原创
2016-06-24 11:44:321423浏览

里面的元素
<body class="body">    <div class="headColor">      <div class="headControl">                <img  class="image-abclogo" src="https://mobile.abchina.com/mpay/mobileBank/zh_CN/EBusinessModule/image/abclogo.png" alt="【Jsoup】doc.getElementsByTag("img");无法获得验证码图片<img/>_html/css_WEB-ITnose" ></img>              </div>    </div>    <div class="container">        <br />        <h5 class="form-signin-heading">&#x519c;&#x884c;&#x7f51;&#x4e0a;K&#x7801;&#x652f;&#x4ed8;&#xff1a;<br /></h5>        <form method="post" action="/mpay/KCodePaymentCheckAct.ebf">        <label for="inputPassword" class="sr-only">&#x519c;&#x884c;&#x5361;&#x53f7;&#xff1a;</label>        <input type="text" class="form-control" placeholder="请输入卡号" required autofocus   style="max-width:90%" name="CardNo"/>        <label for="inputPassword" class="sr-only">&#x624b;&#x673a;&#x53f7;&#x540e;&#x56db;&#x4f4d;&#xff1a;</label>        <input type="text" class="form-control" placeholder="请输入手机号后四位" required autofocus style="margin:0px 0px 3px 0px;" name="MobileNo"/>        <input type="text" id="indentityCode" class="form-control" placeholder="请输入验证码" required style="margin:0px 0px 3px 0px;" name="imageCode" maxlength="4">        <img class="image-indentity pull-right"   style="max-width:90%" src="kimageCodeAct.do?random=201504301102343603&ebf_cookie=evniwmih5jg3m4gz4c5uxuch" alt="" />                    <input type="hidden" name="MerchantID" value=""/>         <input type="hidden" name="MerchantName" value="******"/>           <input type="hidden" name="OrderNo" value="J000302015043011025128810001"/>        <input type="hidden" name="OrderAmount" value="3.50"/>        <input type="hidden" name="OrderDate" value="2015/4/30 0:00:00"/>        <input type="hidden" name="OrderTime" value="2015/4/30 11:02:51"/>        <input type="hidden" name="abc_formId" value="9999"/>        <input type="hidden" name="isRead" value="0"/>        <input type="hidden" name="payment" value="1"/>        <input type="hidden" name="TokenTmp" value="14303629533850965238"/>        <input type="hidden" name="payTypeTmp" value="1010"/>        <br />        <button class="btn btn-lg btn-abc btn-block" type="submit" onclick="">确定</button>        <input type="hidden" name="ebf_cookie" value="evniwmih5jg3m4gz4c5uxuch"/></form>        <br /><br />                  <p class="text-center sr-only">m.abchina.com</p>      <p class="text-center sr-only">全国24小时服务热线:95599</p>      <p class="text-center sr-only">中国农业银行版权所有</p>    </div><!-- /.container -->    <p class="text-center">        m.abchina.com<br />        &#x5168;&#x56fd;24&#x5c0f;&#x65f6;&#x670d;&#x52a1;&#x70ed;&#x7ebf;&#xff1a;95599<br />        &#x4e2d;&#x56fd;&#x519c;&#x4e1a;&#x94f6;&#x884c;&#x7248;&#x6743;&#x6240;&#x6709;    </p>    <!-- Bootstrap core JavaScript    ================================================== -->    <!-- Placed at the end of the document so the pages load faster -->    <script src="js/jquery-2.1.3.min.js"></script>    <script src="js/bootstrap.min.js"></script>    <!-- IE10 viewport hack for Surface/desktop Windows 8 bug -->    <script src="../../assets/js/ie10-viewport-bug-workaround.js"></script>  </body>


这个页面的所有元素,【Jsoup】doc.getElementsByTag(_html/css_WEB-ITnose" >只能取得
 <img  class="image-abclogo" src="https://mobile.abchina.com/mpay/mobileBank/zh_CN/EBusinessModule/image/abclogo.png" alt="【Jsoup】doc.getElementsByTag("img");无法获得验证码图片<img/>_html/css_WEB-ITnose" ></img>

而无法取到
<img class="image-indentity pull-right"   style="max-width:90%" src="kimageCodeAct.do?random=201504301102343603&ebf_cookie=evniwmih5jg3m4gz4c5uxuch" alt="" />


使用  doc.select("[src]"); 也无法得到此【Jsoup】doc.getElementsByTag(_html/css_WEB-ITnose" >


回复讨论(解决方案)

jsoup是不是无法获得验证码的【Jsoup】doc.getElementsByTag(_html/css_WEB-ITnose" >元素?
我这边需要获得验证码图片,想到的解决方法是:取得验证码图片【Jsoup】doc.getElementsByTag(_html/css_WEB-ITnose" >元素,并得到它的“src”,
这样来得到验证码图片。

还有没有其他方法获得呢?谢谢了!


没人回答呀!!!!

1.你贴的源码是 浏览器复制的,还是jsoup采集下来打印的

2,如果是复制的,那么请使用jsoup 访问并打印,看看是否存在你说的那个img

3,按照你的描述应该是不存在你说的img,这个img可能是js生成的。

4如果是js生成的,那么你就要研究一下这个页面的js,然后找到这个生成url的js自己生成一下就ok了

5,得到url之后,需要注意的是,请求这个url的时候,你要保持你这个页面的会话,也就是sessionid,有的网站可能对rf也有要求,建议是使用谷歌浏览器看一下请求的所有参数,然后全部模拟,这样获取的验证码才可能正确

1.你贴的源码是 浏览器复制的,还是jsoup采集下来打印的

2,如果是复制的,那么请使用jsoup 访问并打印,看看是否存在你说的那个img

3,按照你的描述应该是不存在你说的img,这个img可能是js生成的。

4如果是js生成的,那么你就要研究一下这个页面的js,然后找到这个生成url的js自己生成一下就ok了

5,得到url之后,需要注意的是,请求这个url的时候,你要保持你这个页面的会话,也就是sessionid,有的网站可能对rf也有要求,建议是使用谷歌浏览器看一下请求的所有参数,然后全部模拟,这样获取的验证码才可能正确



谢谢回复!
现在问题解决了!
1、代码是jsoup采集下来的;
3、4、这个img应该是js生成的。我无法得到这个页面的js,但猜测到了它的生成方法,最后取到了img;
5、得到url后,我可以直接将这个url在浏览器访问到img,这个url有个参数ebf_cookie,应该就是来保持会话的吧。


刚开始使用学习jsoup,虽然这个问题解决了,但是我一开始没意识到这是img可能是由js生成的。你这分析问题的方法很好,值得学习,谢谢回复!我要结贴了。
声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn