TC官方合作论坛

 找回密码
 立即注册
查看: 3731|回复: 7

[已解决] 要点击这个 授权按钮,元素特征应该怎么写?

[复制链接]
发表于 2012-5-13 14:32:01 | 显示全部楼层 |阅读模式

马上加入TC

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
<a title="授权" class="btn_m btn_accredit" href="javascript:;">授权</a><a title="取消" class="btn_g btn_cancel" href="javascript:;">取消</a>

现在要点击授权,授权的元素特征该怎么写??
我试了几个:
网页.点击元素("浏览器0","title:授权&class:btn_m btn_accredit")   不行。
网页.点击元素("浏览器0","tag:A&txt:授权")    不行。

下面是整个网页的源码,请众神指点!
链接是 http://www.legoyi.com/api/qqspace/oauth/redirect_to_login.php

  1. <!DOCTYPE html>

  2. <html lang="zh-cn">
  3. <head>
  4. <!-- @fragment_top -->
  5. <meta charset="UTF-8">
  6. <title>QQ帐号安全登录</title>
  7. <meta name="keywords" content="QQ互联、QQ登录、安全登录、网站接入、腾讯开放平台" />
  8. <meta name="description" content="接入QQ互联,可实现与腾讯各项服务的无缝连接,安全帐号登录体系,用户动态同步腾讯各社交平台,调用腾讯公司各业务服务。" />
  9. <link rel="Shortcut Icon" href="http://qzonestyle.gtimg.cn/qzone/openapi/favicon.ico" type="image/x-icon" />
  10. <link rel="icon" href="http://qzonestyle.gtimg.cn/qzone/openapi/favicon.ico" type="image/x-icon" />
  11. <link href="http://qzonestyle.gtimg.cn/qzone_v6/proj_qlogin/qlogin.css" rel="stylesheet" type="text/css" media="screen" />
  12. <style type="text/css">
  13. html, body {overflow-x:hidden; overflow-y:auto; margin:0;}
  14. .none {display:none;}
  15. </style>
  16. <script type="text/javascript">
  17. document.domain = &#39;qq.com&#39;;

  18. //disable error info for web view control
  19. function disable_error() {
  20. return true;
  21. }
  22. window.onerror = disable_error;
  23. </script>
  24. <!-- @fragment_top E -->
  25. </head>
  26. <body>

  27. <div class="page_accredit">
  28. <!-- @header -->


  29. <div class="lay_top">
  30. <div class="lay_top_inner">
  31. <h1 class="logo text_hide">QQ登录|授权</h1>
  32. <div class="lat_top_other">
  33. <p>
  34. <span class="login_name_top">淘返利 </span>
  35. <span class="login_vip_icon_d" id="_login_vip_icon_d"></span><!--临时屏蔽-->
  36. <span> </span>
  37. <a href="javascript:;" onclick="logout();">[更换帐号]</a>
  38. </p>
  39. </div>
  40. </div>
  41. </div>


  42. <!-- @header E -->

  43. <div class="lay_main" id="lay_main">

  44. <div class="lay_accredit_con">
  45. <p><a class="accredit_site" href="http://www.legoyi.com" target="_blank">乐购易返利网</a>需要得到您的授权来进行以下操作</p>
  46. <div class="accredit_info" id="accredit_info" style="min-height:180px; _height:180px;">
  47. <ul class="accredit_info_op">









  48. <input name="api_choose" type="checkbox" class="checkbox" id="item_1001" value="1_14" title="默认授权 不可更改" style="display:none;" checked disabled />
  49. <li>
  50. <i class="ui_icon" style="background-image: url("http://qzonestyle.gtimg.cn//qzonestyle/qzone_app/qzone_open/link/auth_2.png");"></i>
  51. <p><em>访问我的个人信息</em></p>
  52. <p class="info_tip">昵称、头像、性别(不包括QQ号)</p>
  53. </li>









  54. <input name="api_choose" type="checkbox" class="checkbox" id="item_1002" value="8_20_21_22_28_29" title="" style="display:none;" checked disabled />
  55. <li>
  56. <i class="ui_icon" style="background-image: url("http://qzonestyle.gtimg.cn//qzonestyle/qzone_app/qzone_open/link/auth_5.png");"></i>
  57. <p><em>同步动态</em></p>
  58. <p class="info_tip">同步动态到QQ空间、腾讯微博</p>
  59. </li>









  60. <input name="api_choose" type="checkbox" class="checkbox" id="item_1005" value="23_24_25_26_27" title="" style="display:none;" checked disabled />
  61. <li>
  62. <i class="ui_icon" style="background-image: url("http://qzonestyle.gtimg.cn//qzonestyle/qzone_app/qzone_open/link/auth_13.png");"></i>
  63. <p><em>访问我的腾讯微博</em></p>
  64. <p class="info_tip">个人信息、好友关系、微博评论</p>
  65. </li>


  66. </ul>
  67. <div class="request_site" id="request_site"><div class="arr"></div><img src="http://qzonestyle.gtimg.cn/ac/qzone/applogo/64/734/100270734_64.gif"><a href="http://www.legoyi.com" target="_blank">乐购易返利网</a>
  68. <div class="fn_guanzhu" id="fn_guanzhu" style="display:none;">
  69. <a href="javascript:;" class="btn_guanzhu" id="btn_guanzhu" onclick="TakeCare.follow();return false;">关注</a>
  70. <!--<span class="span_guanzhu">已关注</span>-->
  71. <div class="tips_guanzhu" id="tips_guanzhu" style="display:none;">
  72. <b class="trig"></b><b class="trig_inner"></b>
  73. <p id="tips_guanzhu_p">关注后可在QQ空间和腾讯微博中随时了解官方动态</p>
  74. </div>
  75. </div>

  76. </div>
  77. </div>
  78. <p>授权后表明您已同意<a href="http://zc.qq.com/chs/agreement1_chs.html" target="_blank">QQ登录使用协议</a>,您也可在<a href="http://rc.qzone.qq.com/profile/link" target="_blank">授权管理</a>中取消授权。</p>
  79. </div>

  80. </div>
  81. <!-- @footer -->


  82. <div class="lay_footer">
  83. <div class="lay_footer_inner">
  84. <div class="lay_footer_l" id="qqloginWidgetTip" style="display:none;"><input type="checkbox" class="input_check" id="oauth_app_select" onclick="app_select.swap();" checked="1"><label for="oauth_app_select">在QQ空间个人中心添加<strong>QQ登录模块</strong></label><i class="icon_help"></i></div>
  85. <div class="lay_footer_r"><a title="授权" class="btn_m btn_accredit" href="javascript:;" onclick="agree();return false;">授权</a><a title="取消" class="btn_g btn_cancel" href="javascript:;" onclick="disagree();return false;">取消</a></div>
  86. </div>
  87. </div>


  88. <!-- @footer E -->
  89. <script type="text/javascript">
  90. var crtDomain = &#39;http://www.legoyi.com&#39;;
  91. </script>

  92. </div>
  93. <script type="text/javascript" src="http://qzonestyle.gtimg.cn/ac/qzfl/release/qzfl_for_qzone.js"></script>
  94. <script type="text/javascript" src="http://qzonestyle.gtimg.cn/qzone/openapi/oauth/common.js"></script>


  95. </body>
  96. </html>
  97. <script type="text/javascript">
  98. QZFL.widget.msgbox.show("加载中...",0,1);//触发预加载QZFL依赖的css与js

  99. var ids=[];
  100. function agree(){
  101. var acs = document.getElementsByName(&#39;api_choose&#39;); //iul.getElementsByTagName(&#39;a&#39;),ids=[];
  102. for(var i=0,len=acs.length;i<len;i++){
  103. var ac = acs[i];
  104. //if(ac.checked||ac.disabled){
  105. ids.push(ac.value);
  106. //}
  107. }
  108. //debugger
  109. var siteName = &#39;乐购易返利网&#39;;
  110. var oauth_version = &#39;1&#39;;

  111. if(oauth_version==&#39;1&#39;) {
  112. //oauth1 分支
  113. var CGI_URL = "http://openapi.qzone.qq.com/oauth/qzoneoauth_doauth",
  114. t = new QZFL.FormSender(CGI_URL, "post", {
  115. oauth_consumer_key:getParameter(&#39;oauth_consumer_key&#39;),
  116. oauth_token:getParameter(&#39;oauth_token&#39;),
  117. oauth_callback:getParameter(&#39;oauth_callback&#39;),
  118. //df:$(&#39;item_999999&#39;)&&$(&#39;item_999999&#39;).checked?1:0,
  119. openapi:ids.join(&#39;_&#39;)
  120. }, "utf-8");
  121. t.onSuccess = function(re){
  122. if(re.ret==0){
  123. QZFL.widget.msgbox.show("授权成功。",4,3000);
  124. setTimeout(function(){window.location = (re.callback);},2000);
  125. }else{
  126. QZFL.widget.msgbox.show(re.msg,5,3000);
  127. }
  128. };
  129. t.onError = function(){
  130. QZFL.widget.msgbox.show("服务器繁忙,请稍后再试。",5,3000);
  131. };
  132. t.send();

  133. } else {
  134. //oauth2 分支
  135. QZFL.widget.msgbox.show(&#39;授权成功,正在返回&#39;+siteName, 4, 5000);
  136. QZFL.maskLayout();

  137. var CGI_URL = "https://graph.qq.com/oauth2.0/authorize",//https
  138. t = new FormSender(CGI_URL, "post", {
  139. response_type:getParameter(&#39;response_type&#39;),
  140. client_id:getParameter(&#39;client_id&#39;),
  141. redirect_uri:getParameter(&#39;redirect_uri&#39;),
  142. scope:getParameter(&#39;scope&#39;),
  143. state:getParameter(&#39;state&#39;),
  144. src:getParameter(&#39;src&#39;),

  145. //new param
  146. openapi:ids.join(&#39;_&#39;)
  147. }, "utf-8");
  148. t.onSuccess = function(re){
  149. if(re.ret==0){
  150. QZFL.widget.msgbox.show("授权成功。",4,3000);
  151. setTimeout(function(){window.location = (re.callback);},2000);
  152. }else{
  153. QZFL.widget.msgbox.show(re.msg,5,3000);
  154. }
  155. };
  156. t.onError = function(){
  157. QZFL.widget.msgbox.show("服务器繁忙,请稍后再试。",5,3000);
  158. };
  159. t.send();
  160. }

  161. }

  162. function disagree(){
  163. window.close();
  164. }


  165. (function(){//调整最大高度
  166. var lay_main = document.getElementById("accredit_info"),
  167. _wsh = window.screen.height * 0.35;
  168. if(lay_main.scrollHeight > _wsh){
  169. lay_main.style.height=(_wsh - 25) + &#39;px&#39;;
  170. /*if(lay_main.scrollHeight>280) {
  171. lay_main.style.height="255px";*/
  172. }else if(QZFL.userAgent.ie<=6) {
  173. lay_main.style.height=Math.max(lay_main.scrollHeight, 180)+"px";
  174. }


  175. var u=&#39;&#39;||getUin();
  176. u && getVIPStatus([u], function(o){
  177. $e("#login_vip_icon_d").setHtml(getVIPStatus.getVipIcon(o));
  178. });
  179. })();


  180. /**
  181. * 一键关注
  182. */
  183. var TakeCare = (function(){
  184. var flags = {
  185. IS_FAMOUS :~~&#39;0&#39;,
  186. CONNED_SPACE_STAT:~~&#39;0&#39;,
  187. HAS_WEIBO:~~&#39;0&#39;,
  188. CONNED_WEIBO_STAT:~~&#39;0&#39;
  189. };

  190. function resetPosition(){
  191. var tpix = QZFL.userAgent.ie<=6 ? $("lay_main").offsetHeight : $("lay_main").scrollHeight, //ie6 scrollHeight 取值有误差
  192. sh = $("request_site").scrollHeight,
  193. diff = 100;

  194. $("request_site").style.top = Math.min(tpix - sh - diff, 50) + "px";
  195. resetPosition=QZFL.emptyFn;
  196. }

  197. function refresh() {
  198. flags.NEED_SPACE = flags.IS_FAMOUS && !flags.CONNED_SPACE_STAT;
  199. flags.NEED_WEIBO = flags.HAS_WEIBO && !flags.CONNED_WEIBO_STAT;
  200. flags.CONNED_SPACE = flags.IS_FAMOUS ? flags.CONNED_SPACE_STAT : 1;
  201. flags.CONNED_WEIBO = flags.HAS_WEIBO ? flags.CONNED_WEIBO_STAT : 1;

  202. var needShow = flags.IS_FAMOUS || flags.HAS_WEIBO;
  203. var conned = flags.CONNED_SPACE && flags.CONNED_WEIBO;

  204. if(needShow) {
  205. $(&#39;fn_guanzhu&#39;).style.display="";

  206. resetPosition();
  207. }else{
  208. $(&#39;fn_guanzhu&#39;).style.display="none";
  209. }
  210. if(conned) {
  211. $(&#39;btn_guanzhu&#39;).innerHTML="已关注";
  212. $(&#39;btn_guanzhu&#39;).className="span_guanzhu";
  213. }else{
  214. $(&#39;btn_guanzhu&#39;).innerHTML="关注";
  215. $(&#39;btn_guanzhu&#39;).className="btn_guanzhu";
  216. }
  217. }

  218. function getNeedShowTip() {
  219. var needShowTip = [];
  220. if(flags.NEED_SPACE){needShowTip.push(&#39;QQ空间&#39;)};
  221. if(flags.NEED_WEIBO){needShowTip.push(&#39;腾讯微博&#39;)};

  222. return needShowTip.length ? &#39;关注后可在&#39;+needShowTip.join("和")+&#39;中随时了解官方动态&#39; : "";
  223. }

  224. $(&#39;btn_guanzhu&#39;).onmouseover=function(){
  225. if($(&#39;btn_guanzhu&#39;).innerHTML=="已关注") return;

  226. $(&#39;tips_guanzhu_p&#39;).innerHTML=getNeedShowTip();
  227. $(&#39;tips_guanzhu&#39;).style.display="";
  228. };

  229. $(&#39;btn_guanzhu&#39;).onmouseout=function(){
  230. $(&#39;tips_guanzhu&#39;).style.display="none";
  231. };
  232. refresh();



  233. return {
  234. follow : function(){
  235. if($(&#39;btn_guanzhu&#39;).innerHTML=="已关注") return;

  236. var uri = &#39;http://w.qzone.qq.com/cgi-bin/qzoneoauth/add_like&#39;;
  237. var t = new QZFL.FormSender(uri, "post", {
  238. appid:getParameter(&#39;client_id&#39;)||getParameter(&#39;oauth_consumer_key&#39;),
  239. uin:getUin()
  240. }, "utf-8");
  241. t.onSuccess = function(re){
  242. if(re.ret==0){
  243. //flags.NEED_SPACE = flags.NEED_WEIBO = 1;
  244. flags.IS_FAMOUS && (flags.CONNED_SPACE_STAT=1);
  245. flags.HAS_WEIBO && (flags.CONNED_WEIBO_STAT=1);

  246. refresh();
  247. }else{
  248. QZFL.widget.msgbox.show(re.msg,5,3000);
  249. }
  250. };
  251. t.onError = function(){
  252. QZFL.widget.msgbox.show("服务器繁忙,请稍后再试。",5,2000);
  253. };
  254. t.send();
  255. //“点击”关注按钮统计
  256. TCISD && TCISD.hotClick && TCISD.hotClick(&#39;authorize.attentionClick&#39;, &#39;graph.qq.com&#39;);
  257. }
  258. }
  259. })();



  260. /**
  261. * QQ登录模块
  262. */
  263. var app_select = function(){
  264. var g_My_Main_Domain = &#39;users.qzone.qq.com&#39;;
  265. var cgi_add = &#39;http://&#39;+g_My_Main_Domain+&#39;/cgi-bin/qzwg/widget_usr_addone.cgi&#39;;
  266. var cgi_remove = &#39;http://&#39;+g_My_Main_Domain+&#39;/cgi-bin/qzwg/widget_usr_delete.cgi&#39;;
  267. var oauth_app_select = $("oauth_app_select")||{};

  268. oauth_app_select.checked = ~~&#39;1&#39;;

  269. if(!oauth_app_select.checked){
  270. $("qqloginWidgetTip").style.display="";
  271. }
  272. $e("#qqloginWidgetTip").onHover(function(){
  273. QZFL.widget.tips.show(&#39;<img src="http://qzonestyle.gtimg.cn/qzone_v6/img/tips/qqlogin_demo.png" />&#39;, $e("#qqloginWidgetTip .icon_help").elements[0], {
  274. width:142, height:162,
  275. arrowEdge:3,
  276. arrowPoint:3,
  277. x:12,
  278. y:-5,
  279. single:1,
  280. id:"widgetTip",
  281. noCloseButton:true
  282. });
  283. }, function(){
  284. QZFL.widget.tips.close("widgetTip");
  285. });

  286. function swap() {
  287. var checked = oauth_app_select.checked;
  288. QZFL.event.preventDefault();
  289. var fs = new QZFL.FormSender(checked?cgi_add:cgi_remove, "post", {widget_id:100013, uin:getUin()}, "utf-8");
  290. fs.onSuccess = function(re){
  291. if(!~~re.ret) {
  292. oauth_app_select.checked = checked;
  293. } else {
  294. QZFL.widget.msgbox.show(re.msg,5,3000);
  295. }
  296. };
  297. fs.onError = function(){
  298. QZFL.widget.msgbox.show("服务器繁忙,请稍后再试。",5,2000);
  299. };
  300. fs.send();
  301. //添加QQ登录模块的点击量统计
  302. TCISD && TCISD.hotClick && TCISD.hotClick(&#39;authorize.qqLoginWidgetClickNum&#39;, &#39;graph.qq.com&#39;);
  303. }

  304. return {
  305. swap : swap
  306. }
  307. }();

  308. </script>
复制代码

回复

使用道具 举报

发表于 2012-5-13 22:47:51 | 显示全部楼层
<div class="lay_footer_r"><a title="授权" class="btn_m btn_accredit" href="javascript:;" onclick="agree();return false;">授权</a><a title="取消" class="btn_g btn_cancel" href="javascript:;" onclick="disagree();return false;">取消</a></div>



这2句应该就是你要点的地方吧,授权和取消
看了一下.点授权之后 触发了 onclick事件.  调用了agree() 函数...
直接写JS脚本...
网页.执行js("浏览器0","agree();return false;")      //授权按钮事件
网页.执行js("浏览器0","disagree();return false;")   //取消按钮事件...

试试看?
回复 支持 反对

使用道具 举报

发表于 2012-5-13 15:05:54 | 显示全部楼层
class="btn_m btn_accredit" 代表2个class名称
要么你用
网页.点击元素("浏览器0","title:授权&class:btn_m")
或者
网页.点击元素("浏览器0","title:授权&btn_accredit")
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-5-13 15:15:23 | 显示全部楼层
谢谢楼上指点,我试过了,不行耶,还是谢谢你。
回复 支持 反对

使用道具 举报

发表于 2012-5-13 19:35:17 | 显示全部楼层
网页.点击元素("浏览器0","title:授权&innerHtml:授权 ")

网页.点击元素("浏览器0","title:授权&outerHtml:授权 ")


最好直接上网站.看看源码.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-5-13 22:36:03 | 显示全部楼层
回复 4楼cylhb的帖子

谢谢指点,我试过了,也不行。网页源码我已经贴上来了,请帮我分析一下。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-5-13 22:58:43 | 显示全部楼层
回复 6楼cylhb的帖子

谢谢!成功了。谢谢指点,看来还是要多学习啊,我琢磨了一天都没有琢磨出来。谢谢!
回复 支持 反对

使用道具 举报

发表于 2012-5-13 23:08:25 | 显示全部楼层
呵呵,恭喜.
网页的操作上其实很多不同技巧..慢慢来.咱也在学习的路上
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条

关闭

小黑屋|TC官方合作论坛 (苏ICP备18045623号)

GMT+8, 2024-9-23 19:54 , Processed in 0.042669 second(s), 23 queries .

Powered by 海安简单软件服务部

© 2008-2019 版权所有 保留所有权利

快速回复 返回顶部 返回列表