TC官方合作论坛
标题:
要点击这个 授权按钮,元素特征应该怎么写?
[打印本页]
作者:
yvyan
时间:
2012-5-13 14:32
标题:
要点击这个 授权按钮,元素特征应该怎么写?
<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
<!DOCTYPE html>
<html lang="zh-cn">
<head>
<!-- @fragment_top -->
<meta charset="UTF-8">
<title>QQ帐号安全登录</title>
<meta name="keywords" content="QQ互联、QQ登录、安全登录、网站接入、腾讯开放平台" />
<meta name="description" content="接入QQ互联,可实现与腾讯各项服务的无缝连接,安全帐号登录体系,用户动态同步腾讯各社交平台,调用腾讯公司各业务服务。" />
<link rel="Shortcut Icon" href="http://qzonestyle.gtimg.cn/qzone/openapi/favicon.ico" type="image/x-icon" />
<link rel="icon" href="http://qzonestyle.gtimg.cn/qzone/openapi/favicon.ico" type="image/x-icon" />
<link href="http://qzonestyle.gtimg.cn/qzone_v6/proj_qlogin/qlogin.css" rel="stylesheet" type="text/css" media="screen" />
<style type="text/css">
html, body {overflow-x:hidden; overflow-y:auto; margin:0;}
.none {display:none;}
</style>
<script type="text/javascript">
document.domain = 'qq.com';
//disable error info for web view control
function disable_error() {
return true;
}
window.onerror = disable_error;
</script>
<!-- @fragment_top E -->
</head>
<body>
<div class="page_accredit">
<!-- @header -->
<div class="lay_top">
<div class="lay_top_inner">
<h1 class="logo text_hide">QQ登录|授权</h1>
<div class="lat_top_other">
<p>
<span class="login_name_top">淘返利 </span>
<span class="login_vip_icon_d" id="_login_vip_icon_d"></span><!--临时屏蔽-->
<span> </span>
<a href="javascript:;" onclick="logout();">[更换帐号]</a>
</p>
</div>
</div>
</div>
<!-- @header E -->
<div class="lay_main" id="lay_main">
<div class="lay_accredit_con">
<p><a class="accredit_site" href="http://www.legoyi.com" target="_blank">乐购易返利网</a>需要得到您的授权来进行以下操作</p>
<div class="accredit_info" id="accredit_info" style="min-height:180px; _height:180px;">
<ul class="accredit_info_op">
<input name="api_choose" type="checkbox" class="checkbox" id="item_1001" value="1_14" title="默认授权 不可更改" style="display:none;" checked disabled />
<li>
<i class="ui_icon" style="background-image: url("http://qzonestyle.gtimg.cn//qzonestyle/qzone_app/qzone_open/link/auth_2.png");"></i>
<p><em>访问我的个人信息</em></p>
<p class="info_tip">昵称、头像、性别(不包括QQ号)</p>
</li>
<input name="api_choose" type="checkbox" class="checkbox" id="item_1002" value="8_20_21_22_28_29" title="" style="display:none;" checked disabled />
<li>
<i class="ui_icon" style="background-image: url("http://qzonestyle.gtimg.cn//qzonestyle/qzone_app/qzone_open/link/auth_5.png");"></i>
<p><em>同步动态</em></p>
<p class="info_tip">同步动态到QQ空间、腾讯微博</p>
</li>
<input name="api_choose" type="checkbox" class="checkbox" id="item_1005" value="23_24_25_26_27" title="" style="display:none;" checked disabled />
<li>
<i class="ui_icon" style="background-image: url("http://qzonestyle.gtimg.cn//qzonestyle/qzone_app/qzone_open/link/auth_13.png");"></i>
<p><em>访问我的腾讯微博</em></p>
<p class="info_tip">个人信息、好友关系、微博评论</p>
</li>
</ul>
<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>
<div class="fn_guanzhu" id="fn_guanzhu" style="display:none;">
<a href="javascript:;" class="btn_guanzhu" id="btn_guanzhu" onclick="TakeCare.follow();return false;">关注</a>
<!--<span class="span_guanzhu">已关注</span>-->
<div class="tips_guanzhu" id="tips_guanzhu" style="display:none;">
<b class="trig"></b><b class="trig_inner"></b>
<p id="tips_guanzhu_p">关注后可在QQ空间和腾讯微博中随时了解官方动态</p>
</div>
</div>
</div>
</div>
<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>
</div>
</div>
<!-- @footer -->
<div class="lay_footer">
<div class="lay_footer_inner">
<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>
<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>
</div>
</div>
<!-- @footer E -->
<script type="text/javascript">
var crtDomain = 'http://www.legoyi.com';
</script>
</div>
<script type="text/javascript" src="http://qzonestyle.gtimg.cn/ac/qzfl/release/qzfl_for_qzone.js"></script>
<script type="text/javascript" src="http://qzonestyle.gtimg.cn/qzone/openapi/oauth/common.js"></script>
</body>
</html>
<script type="text/javascript">
QZFL.widget.msgbox.show("加载中...",0,1);//触发预加载QZFL依赖的css与js
var ids=[];
function agree(){
var acs = document.getElementsByName('api_choose'); //iul.getElementsByTagName('a'),ids=[];
for(var i=0,len=acs.length;i<len;i++){
var ac = acs[i];
//if(ac.checked||ac.disabled){
ids.push(ac.value);
//}
}
//debugger
var siteName = '乐购易返利网';
var oauth_version = '1';
if(oauth_version=='1') {
//oauth1 分支
var CGI_URL = "http://openapi.qzone.qq.com/oauth/qzoneoauth_doauth",
t = new QZFL.FormSender(CGI_URL, "post", {
oauth_consumer_key:getParameter('oauth_consumer_key'),
oauth_token:getParameter('oauth_token'),
oauth_callback:getParameter('oauth_callback'),
//df:$('item_999999')&&$('item_999999').checked?1:0,
openapi:ids.join('_')
}, "utf-8");
t.onSuccess = function(re){
if(re.ret==0){
QZFL.widget.msgbox.show("授权成功。",4,3000);
setTimeout(function(){window.location = (re.callback);},2000);
}else{
QZFL.widget.msgbox.show(re.msg,5,3000);
}
};
t.onError = function(){
QZFL.widget.msgbox.show("服务器繁忙,请稍后再试。",5,3000);
};
t.send();
} else {
//oauth2 分支
QZFL.widget.msgbox.show('授权成功,正在返回'+siteName, 4, 5000);
QZFL.maskLayout();
var CGI_URL = "https://graph.qq.com/oauth2.0/authorize",//https
t = new FormSender(CGI_URL, "post", {
response_type:getParameter('response_type'),
client_id:getParameter('client_id'),
redirect_uri:getParameter('redirect_uri'),
scope:getParameter('scope'),
state:getParameter('state'),
src:getParameter('src'),
//new param
openapi:ids.join('_')
}, "utf-8");
t.onSuccess = function(re){
if(re.ret==0){
QZFL.widget.msgbox.show("授权成功。",4,3000);
setTimeout(function(){window.location = (re.callback);},2000);
}else{
QZFL.widget.msgbox.show(re.msg,5,3000);
}
};
t.onError = function(){
QZFL.widget.msgbox.show("服务器繁忙,请稍后再试。",5,3000);
};
t.send();
}
}
function disagree(){
window.close();
}
(function(){//调整最大高度
var lay_main = document.getElementById("accredit_info"),
_wsh = window.screen.height * 0.35;
if(lay_main.scrollHeight > _wsh){
lay_main.style.height=(_wsh - 25) + 'px';
/*if(lay_main.scrollHeight>280) {
lay_main.style.height="255px";*/
}else if(QZFL.userAgent.ie<=6) {
lay_main.style.height=Math.max(lay_main.scrollHeight, 180)+"px";
}
var u=''||getUin();
u && getVIPStatus([u], function(o){
$e("#login_vip_icon_d").setHtml(getVIPStatus.getVipIcon(o));
});
})();
/**
* 一键关注
*/
var TakeCare = (function(){
var flags = {
IS_FAMOUS :~~'0',
CONNED_SPACE_STAT:~~'0',
HAS_WEIBO:~~'0',
CONNED_WEIBO_STAT:~~'0'
};
function resetPosition(){
var tpix = QZFL.userAgent.ie<=6 ? $("lay_main").offsetHeight : $("lay_main").scrollHeight, //ie6 scrollHeight 取值有误差
sh = $("request_site").scrollHeight,
diff = 100;
$("request_site").style.top = Math.min(tpix - sh - diff, 50) + "px";
resetPosition=QZFL.emptyFn;
}
function refresh() {
flags.NEED_SPACE = flags.IS_FAMOUS && !flags.CONNED_SPACE_STAT;
flags.NEED_WEIBO = flags.HAS_WEIBO && !flags.CONNED_WEIBO_STAT;
flags.CONNED_SPACE = flags.IS_FAMOUS ? flags.CONNED_SPACE_STAT : 1;
flags.CONNED_WEIBO = flags.HAS_WEIBO ? flags.CONNED_WEIBO_STAT : 1;
var needShow = flags.IS_FAMOUS || flags.HAS_WEIBO;
var conned = flags.CONNED_SPACE && flags.CONNED_WEIBO;
if(needShow) {
$('fn_guanzhu').style.display="";
resetPosition();
}else{
$('fn_guanzhu').style.display="none";
}
if(conned) {
$('btn_guanzhu').innerHTML="已关注";
$('btn_guanzhu').className="span_guanzhu";
}else{
$('btn_guanzhu').innerHTML="关注";
$('btn_guanzhu').className="btn_guanzhu";
}
}
function getNeedShowTip() {
var needShowTip = [];
if(flags.NEED_SPACE){needShowTip.push('QQ空间')};
if(flags.NEED_WEIBO){needShowTip.push('腾讯微博')};
return needShowTip.length ? '关注后可在'+needShowTip.join("和")+'中随时了解官方动态' : "";
}
$('btn_guanzhu').onmouseover=function(){
if($('btn_guanzhu').innerHTML=="已关注") return;
$('tips_guanzhu_p').innerHTML=getNeedShowTip();
$('tips_guanzhu').style.display="";
};
$('btn_guanzhu').onmouseout=function(){
$('tips_guanzhu').style.display="none";
};
refresh();
return {
follow : function(){
if($('btn_guanzhu').innerHTML=="已关注") return;
var uri = 'http://w.qzone.qq.com/cgi-bin/qzoneoauth/add_like';
var t = new QZFL.FormSender(uri, "post", {
appid:getParameter('client_id')||getParameter('oauth_consumer_key'),
uin:getUin()
}, "utf-8");
t.onSuccess = function(re){
if(re.ret==0){
//flags.NEED_SPACE = flags.NEED_WEIBO = 1;
flags.IS_FAMOUS && (flags.CONNED_SPACE_STAT=1);
flags.HAS_WEIBO && (flags.CONNED_WEIBO_STAT=1);
refresh();
}else{
QZFL.widget.msgbox.show(re.msg,5,3000);
}
};
t.onError = function(){
QZFL.widget.msgbox.show("服务器繁忙,请稍后再试。",5,2000);
};
t.send();
//“点击”关注按钮统计
TCISD && TCISD.hotClick && TCISD.hotClick('authorize.attentionClick', 'graph.qq.com');
}
}
})();
/**
* QQ登录模块
*/
var app_select = function(){
var g_My_Main_Domain = 'users.qzone.qq.com';
var cgi_add = 'http://'+g_My_Main_Domain+'/cgi-bin/qzwg/widget_usr_addone.cgi';
var cgi_remove = 'http://'+g_My_Main_Domain+'/cgi-bin/qzwg/widget_usr_delete.cgi';
var oauth_app_select = $("oauth_app_select")||{};
oauth_app_select.checked = ~~'1';
if(!oauth_app_select.checked){
$("qqloginWidgetTip").style.display="";
}
$e("#qqloginWidgetTip").onHover(function(){
QZFL.widget.tips.show('<img src="http://qzonestyle.gtimg.cn/qzone_v6/img/tips/qqlogin_demo.png" />', $e("#qqloginWidgetTip .icon_help").elements[0], {
width:142, height:162,
arrowEdge:3,
arrowPoint:3,
x:12,
y:-5,
single:1,
id:"widgetTip",
noCloseButton:true
});
}, function(){
QZFL.widget.tips.close("widgetTip");
});
function swap() {
var checked = oauth_app_select.checked;
QZFL.event.preventDefault();
var fs = new QZFL.FormSender(checked?cgi_add:cgi_remove, "post", {widget_id:100013, uin:getUin()}, "utf-8");
fs.onSuccess = function(re){
if(!~~re.ret) {
oauth_app_select.checked = checked;
} else {
QZFL.widget.msgbox.show(re.msg,5,3000);
}
};
fs.onError = function(){
QZFL.widget.msgbox.show("服务器繁忙,请稍后再试。",5,2000);
};
fs.send();
//添加QQ登录模块的点击量统计
TCISD && TCISD.hotClick && TCISD.hotClick('authorize.qqLoginWidgetClickNum', 'graph.qq.com');
}
return {
swap : swap
}
}();
</script>
复制代码
作者:
Soy_meng
时间:
2012-5-13 15:05
class="btn_m btn_accredit" 代表2个class名称
要么你用
网页.点击元素("浏览器0","title:授权&class:btn_m")
或者
网页.点击元素("浏览器0","title:授权&btn_accredit")
作者:
yvyan
时间:
2012-5-13 15:15
谢谢楼上指点,我试过了,不行耶,还是谢谢你。
作者:
cylhb
时间:
2012-5-13 19:35
网页.点击元素("浏览器0","title:授权&innerHtml:授权 ")
或
网页.点击元素("浏览器0","title:授权&outerHtml:授权 ")
最好直接上网站.看看源码.
作者:
yvyan
时间:
2012-5-13 22:36
回复
4楼
cylhb
的帖子
谢谢指点,我试过了,也不行。网页源码我已经贴上来了,请帮我分析一下。
作者:
cylhb
时间:
2012-5-13 22:47
<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;") //取消按钮事件...
试试看?
作者:
yvyan
时间:
2012-5-13 22:58
回复
6楼
cylhb
的帖子
谢谢!成功了。谢谢指点,看来还是要多学习啊,我琢磨了一天都没有琢磨出来。谢谢!
作者:
cylhb
时间:
2012-5-13 23:08
呵呵,恭喜.
网页的操作上其实很多不同技巧..慢慢来.咱也在学习的路上
欢迎光临 TC官方合作论坛 (http://bbs.52tc.co/)
Powered by Discuz! X3.1