antony410 发表于 2014-4-13 11:10:25

这个网页的链接如何点击?(4.26补充了一些线索)

本帖最后由 antony410 于 2014-4-26 22:36 编辑

我用了模拟点击,但因每台机的屏幕分辨率不一定相同,有时点击不到位,所以通用性不高。

试了一些,例如:_IELinkClickByText,_IELinkClickByIndex 这些都点击不了。
网页源代码,好像不见有关键字,也没有link,也没有id.
(我也不懂post这种方法)

求解:是一个内部网页,想点击第一个"学习"这个链接,如何点击?
为什么这个(源码中)框架里面没有"学习"这个链接,是不是框架跳转去了其它地方.是不是这样理解。
望大臣赐教!


如下图1:




4.26补充一些线索:
1.就是用鼠标指向"学习"这个链接时,就会在IE的左下角显示一些提示,如下图2:


2.如果用鼠标手动点击这个"学习"链接,就会弹出另外一个IE链接,内容好像是flash学习课程。
IE的标题好像是网址的一部分。但未点击"学习"这个链接之前跟本就不知道网址是什么。
因为每个"学习"的cid和mypid都不相同。
如下图3:


求解:是一个内部网页,想点击第一个"学习"这个链接,如何点击?

图1的网页源代码如下:
<!DOCTYPE HTML>
<html xmlns="http://www.w3.org/1999/xhtml" class="of">

<head>
<base href="http://oa.cn******.com:80/portal/root/login.jsp">
<meta name="keywords" content="" />
<meta name="description" content="" />
<title>欢迎访问**内部门户</title>
<link rel="shortcut icon" href="/portal/RES/css/images/favicon.ico" type="image/x-icon" />
<script src="http://oa.cn******.com/infoResource/news/portal/soaNST/soaNST3/js/jquery.js"></script>
<link type="text/css" href="http://oa.cn******.com/infoResource/news/portal/soaNST/soaNST3/login/css/common.css" rel="stylesheet">
<link type="text/css" href="http://oa.cn******.com/infoResource/news/portal/soaNST/soaNST3/login/css/login.css" rel="stylesheet">
<script src="http://oa.cn******.com/infoResource/news/portal/soaNST/soaNST3/login/js/soa_login.js" type="text/javascript"></script>
<style>
.soa-login-bg{ _filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='http://oa.cn******.com/infoResource/news/portal/soaNST/soaNST3/login/css/images/soalogin_bg.png');}

/*弹出框*/
.extra-info,.extra-info-3,.extra-info-4,.extra-info-6,.extra-info-14,.extra-info-15,.extra-info-17{display:none;position:absolute;left:50%;margin-left:-239px;width:176px;
padding-top:6px;z-index:99999;overflow:hidden}
.extra-info-bg{position:absolute;left:0;top:0;width:100%;height:9999px;background:#000;opacity:0.3;filter:Alpha(opacity=30);}
.extra-info-box{position:relative;margin:0 6px 6px 6px;background:#fff;overflow:hidden;}
.extra-info-title{height:31px;border-bottom:1px solid #CECECE;background:#f0efef;}
.extra-info-title h3{padding-left:10px;line-height:32px;font-size:14px;font-weight:700;}
.extra-info-cont{position: relative; /*padding:10px 20px;*/ text-align: center; padding:16px 0;}
b.close{ position:absolute; display:block; height:15px; width:15px; cursor:pointer; right:15px; top:18px; background:url(../RES/soaNewStyle/original/login/css/images/close-x.png) no-repeat left top;}
#grayLayer {background:#000000;display: none;left: 0;opacity: 0.3;filter:Alpha(opacity=30);position: absolute;top: 0;z-index: 11000;}
.load_yun { position:relative; top:2px; left:6px; color:#0081CC;}
.load_yun:hover { color:#0081CC;}
</style>
<script>
function submit_form() {
        if (document.form1.j_username.value == ""){
                document.getElementById("error").innerHTML = "工号不能为空";
                document.getElementById("error").style.display = "block";
                document.form1.j_username.focus();
                return false;
        }
        if (document.form1.j_password.value == ""){
                document.getElementById("error").innerHTML = "密码不能为空";
                document.getElementById("error").style.display = "block";
                document.form1.j_password.focus();
                return false;
        }
       
        rememberUserName();
}

document.onkeydown = function(event) {
        var e = window.event || event;
        if(e.keyCode == 13) {
                submit_form();
        }
}

function loaderror(){
        var msg = "WRONGPASSWORD";
        if('NOSUCHUSER' == msg){
                document.getElementById("error").innerHTML = '该用户不存在,解决方案详见帮助';
                document.getElementById("error").style.display = "block";
        }else if ('WRONGPASSWORD' == msg){
                document.getElementById("error").innerHTML = '工号或密码不正确,解决方案详见帮助';
                document.getElementById("error").style.display = "block";
        }else if ('LDAPLOSED' == msg){
                document.getElementById("error").innerHTML = '长时间未操作,用户信息失效,请重新登入';
                document.getElementById("error").style.display = "block";
        }
        //增加页面加载获取绑定关系
        var value = $("#j_username").val();
        getEmployeeBind(value);
        //增加onchange事件;
        $("#j_username").change( function() {
                var juserVal = $(this).val();
                getEmployeeBind(juserVal);
        });
}

function rememberUserName(){
        var re=/^{0,}$/;
        var employeeName = document.form1.j_username.value;
       
        if(!re.test(employeeName)){
                document.getElementById("error").innerHTML = "工号只能为8位数字";
                document.getElementById("error").style.display = "block";
                document.form1.j_username.focus();
                return false;
        }
       
        var flag = "0";
       
        if($(".remember i").hasClass("on")){
                flag = "1";
        }
       
        $.ajax( {
                url : "/portal/rememberUserName.htm",
                type : "post",
                cache : false,
                async : true,
                data : {"employeeName":employeeName,"flag":flag},
                success : function(data) {
                                if(data=="1"){
                                        document.form1.submit();
                                }
                        }
                });
}

function getEmployeeBind(juserVal){
        if("" == juserVal){
                $("#snyl").hide();
                $("#j_snyl_type").val("0");
        }
        $.ajax( {
                url : "/portal/snyl/queryBindEmployee.htm",
                type : "post",
                cache : false,
                async : true,
                data : {"employeeId":juserVal
                },
                success : function(data) {
                        if("E" != data){
                                //document.form1.style.marginTop="-20px";
                                $("#snyl").show();
                                $("#j_snyl_type").val("1");
                        }else{
                                //document.form1.style.marginTop="0px";
                                $("#snyl").hide();
                                $("#j_snyl_type").val("0");
                        }
                }
        });
}
</script>
</head>
<body class="gray-bg of"onload="loaderror()">
    <div id="body"class="body">
   <script type="text/javascript">
       (function(){
                        var _Dwarf = screen.height < 800,
                                _loginHeight = 340,
                                _wrap = document.getElementById('body');
                        if(_Dwarf) {
                                _wrap.style.backgroundPosition = "center -24px";
                        }
             load_pad();
                        window.onresize = load_pad;
                        function load_pad(){
                                var _temp = 0, _bodyHeight = document.documentElement.clientHeight;
                                if(_bodyHeight > _loginHeight){
                                        temp = (_bodyHeight-_loginHeight)/2;
                                        if(_Dwarf) {
                                                temp += (temp <= 120 ? 28 : 0);
                                        }
                                } else {
                                        temp = 0;
                                }
                                _wrap.style.paddingTop = temp + "px" ;
                        }
                })();
       
          </script>
    <!-- 登陆界面[[-->
      <div class="soa-login-bg">
            <div class="soa-login">
            <!--http://oa.cn******.com:80/******UUMWeb/AuthenticationServlet../j_security_check-->
            <form name="form1" style="margin: -15px" method="post" action="http://oa.cn******.com:80/******UUMWeb/AuthenticationServlet">
                          <input type="hidden"
                                                name="UUM_SYSTEM" value="UWPPORTAL" /> <input type="hidden"
                                                name="UUM_COMPANYCODE"
                                                value="oa.cn******.com" />
                       <input id="j_snyl_type" name="j_snyl_type" type="hidden" value="0" />
                  <table>
                          <tr height="20"><td>&nbsp;</td><td><span id="error" style="display:none;" class="c-red ml5"></span></td></tr>
                        <tr height="40"><td><label>用户名:</label></td><td><span class="uText login-text user"><em></em><input name="j_username" id="j_username" type="text" value=""/></span></td></tr>
                        <tr height="40"><td><label>密<i class="w16"></i>码:</label></td><td><span class="uText login-text password"><em></em><input name="j_password" type="password" value="" /></span>
                        </td></tr>
                        <tr height="70"><td>&nbsp;</td><td><a style="cursor: pointer" onclick="submit_form()" class="u-btn"><span>登&nbsp;&nbsp;&nbsp;&nbsp;录</span></a><span class="remember"><i ></i>记住用户名</span>
                        <p class="links"><a href="/portal/changePss/changePssStep.htm">忘记密码</a>
                        <a href="/portal/loginForHelp/redirectToHelp.htm">帮助</a></p></td></tr>
                  </table>       
            </form>
            </div>
      </div>
    <!--]]登陆界面 -->
    </div>
   
    <!-- 弹出框 -->   
<div class="winctrl extra-info-6">
    <div class="extra-info-bg"></div>
    <div class="extra-info-box">
      <div class="extra-info-title">
            <h3></h3>
      </div>
      <div class="extra-info-cont">
            <p><img src="../RES/soaNewStyle/original/login/css/images/QuickMark.png" width="113" height="113" /></p>
      </div>
    </div>
    <b class="close closepopW"></b>
</div>
<div id="grayLayer">
    <iframe style="position:absolute;top:-5px;left:0;border:none;width:100%;height:100%;background:#666666;filter:alpha(opacity=0);" ></iframe>
</div>   
   
<script>
$(function(){
       function popup(obj,cObj,popObj,boolLocalCenter,boolLayer){
      var popTarget = obj;
      popTarget.click(function(){
            //打开关闭遮罩层
            function grayLayerAction(bool){
                var grayLayer = $("#grayLayer");
                if(bool){
                  grayLayer.css({display:"block",width:$(window).width()+"px",height:$(document).height()+"px"});
                }else{
                  grayLayer.hide();
                }
            }
            //打开弹出框
            function openWin(obj1,boolC){
                obj1.show();
                if(boolC){ //1居中显示
                  obj1.css({top:($(window).height()-obj1.height())/2+$(window).scrollTop()+"px"});
                }else{ //0跟随显示
                  obj1.css({top:obj.offset().top-obj1.height()-5+"px",left:obj.offset().left+"px",marginLeft:0});
                }
            }
            //关闭弹出框
            function closeWin(obj2){
                obj2.hide();
                grayLayerAction(false);
            }
            grayLayerAction(boolLayer);
            openWin(popObj,boolLocalCenter);
            //关闭
            cObj.click(function(obj2){
                closeWin(popObj);
            });

            $(window).resize(function(){
                var ncw = document.documentElement.scrollLeft+document.documentElement.clientWidth;
                $("#grayLayer").width(ncw);
            })

      })
      function CloseWebPop(){$(".winctrl").hide();$("#grayLayer").hide();}

    }
       
        popup($("#load_yun"),$(".closepopW"),$(".extra-info-6"),0,0);
       
});
</script>
</body>
</html>

antony410 发表于 2014-4-14 10:07:14

希望大臣赐教....{:face (460):}

antony410 发表于 2014-4-23 22:05:03

顶一下.{:face (60):}

gisen_6 发表于 2014-4-24 23:12:59

没看到代码里有“学习”的链接。
只看到了“我的学习”这个链接。
<li><a href="###" onclick="toPage('/e-learning/course/learningMainFrame.do?forwardParam=&forwardParam=','650px','2')">我的学习</a></li>

你看看“学习”的链接是不是也是这样的形式,是的话,试试:
$oIE.document.parentWindow.execscript("toPage('/e-learning/course/learningMainFrame.do?forwardParam=&forwardParam=','650px','2')")
把onclick对应的js函数填到括号里,自动执行按钮对应的js函数,应该可以跳转了。

damoo 发表于 2014-4-24 23:56:52

哈哈,楼主是要怎样的干活。
其实我也在研究这个,一块Ok了。

shqf 发表于 2014-4-25 12:45:46

网页源码中都没有“学习”这个链接,再谈_IELinkClickByText、 _IELinkClickByIndex 等什么函数、有无id、会不会post等等,都是空啊!网页都没找对嘛。注意此网页中的iframe呵。

antony410 发表于 2014-4-26 22:07:59

回复 4# gisen_6

源码中找不到"学习",无法测试你给的语句。

{:face (340):}

antony410 发表于 2014-4-26 22:28:13

回复 6# shqf
请问如何才能找到这个"学习"并点击?

antony410 发表于 2014-4-27 21:02:55

顶一下。{:face (214):}

水木子 发表于 2014-4-27 21:15:18

非常佩服LZ的求知精神,为了解决问题,手机拍照都用上了。

antony410 发表于 2014-4-27 22:03:53

回复 10# 水木子


我惭愧!{:face (129):}

水木子 发表于 2014-4-27 22:13:48

回复 11# antony410

可惜我不擅长这方面的东西,帮不了你什么忙,只有等着一起学了。

antony410 发表于 2014-5-1 21:56:42

再顶一下,希望有大臣看到赐教。{:face (378):}

seniors 发表于 2014-5-5 13:25:16

不可能不出现“学习”字样,肯定是在框架里

antony410 发表于 2014-5-11 22:57:03

回复 14# seniors
请问如何查找到?{:face (396):}
页: [1] 2
查看完整版本: 这个网页的链接如何点击?(4.26补充了一些线索)