51Testing软件测试论坛

标题: 求问这种情况为什么不能用linkText来定位 [打印本页]

作者: OverTimeDog    时间: 2015-10-28 17:50
标题: 求问这种情况为什么不能用linkText来定位
<a href="/bidding/publicity/view?login_id=3244422" target="_blank">查看结果</a>
上述这种情况,我用driver.findElement(By.linkText("查看结果")).click();一直不成功,报错就是找不到元素
请大神们指点!

作者: 踏雪飞狐    时间: 2015-10-28 18:24
linktext不是每个都能定位的,要准确高效的定位建议用xpath或者css方式
作者: OverTimeDog    时间: 2015-10-29 09:45
踏雪飞狐 发表于 2015-10-28 18:24
linktext不是每个都能定位的,要准确高效的定位建议用xpath或者css方式

通过FireBug获得的xpath和css绝对路径,都定位不了这个文案链接什么办法都用了还是报错 好奇怪
作者: joykao    时间: 2015-10-29 10:40
查看结果这个链接是不是有很多个呢?是不是页面上用了多frame?或者是不是有多页面?如果是的话需要switch的还有即使用cssSelector去定位元素也不要把值写死,我觉得那个login_id应该是会变得  href="/bidding/publicity/view?login_id=3244422
作者: 踏雪飞狐    时间: 2015-10-29 11:19
OverTimeDog 发表于 2015-10-29 09:45
通过FireBug获得的xpath和css绝对路径,都定位不了这个文案链接什么办法都用了还是报错 好奇怪

是不是用了多frame或者窗口切换了,如果没有的话用xpath不可能定位不到的,除非你写错路径了
作者: OverTimeDog    时间: 2015-10-29 13:57
joykao 发表于 2015-10-29 10:40
查看结果这个链接是不是有很多个呢?是不是页面上用了多frame?或者是不是有多页面?如果是的话需要switch ...

<!DOCTYPE html>


<html>

<head>


<body>

   <header id="header" class="mod-header" log-mod="header">


   <div id="logo" class="mod-logo " log-mod="logo">


   <div id="crumbs" class="mod-crumbs" log-mod="crumbs">


   <div class="l-flow-con l-flow-con-fold clearfix">

       <div id="sideNav" class="mod-side-nav" log-mod="side-nav">


       <div class="l-right-con l-right-con-expanded">

           <div id="backToManage" class="mod-back-to-manage">


           <div id="evaluateView" class="mod-evaluate-view" log-mod="evaluateView">
                 <iframe id="st-content-iframe" frameborder="no" border="0" style="width: 100%; border: medium none; height: 8042px;">
                 <!DOCTYPE >


                    <html>

                       <head>


                       <body>

                            <style>


                            <style>


                            <div class="view">
                                   <h1>项目:【QA测试测试】</h1>


                                   <div class="info-list">

                                         <div class="info-item fixed-hidden">


                                         <div class="info-item fixed-hidden">


                                         <div class="info-item fixed-hidden">


                                         <div class="info-item">


                                         <div class="info-item">


                                         <div class="info-item">


                                         <div class="info-item">


                                         <div class="info-item">


                                         <div class="info-item">
                                                  <span class="info-title">完成情况(入选/目标):</span>

                                                  <span class="info-text">766.22%</span>


                                         </div>


                                         <p>
                                                  <label>结果:</label>

                                                  成功
                                                  <a href="/bidding/publicity/view?bidding_id=2906135780192437042" target="_blank">查看结果</a>


                                        </p>


                                    </div>


                              <div class="results-container clearfix">


                         </div>


                   </body>


              </html>


         </iframe>


       </div>


    </div>


</div>
实际上是这样一个格式,大神求解!












作者: OverTimeDog    时间: 2015-10-29 16:40
踏雪飞狐 发表于 2015-10-29 11:19
是不是用了多frame或者窗口切换了,如果没有的话用xpath不可能定位不到的,除非你写错路径了

<!DOCTYPE html>
<html>
<head>
<body>
   <header id="header" class="mod-header" log-mod="header">
   <div id="logo" class="mod-logo " log-mod="logo">
   <div id="crumbs" class="mod-crumbs" log-mod="crumbs">
   <div class="l-flow-con l-flow-con-fold clearfix">
       <div id="sideNav" class="mod-side-nav" log-mod="side-nav">
       <div class="l-right-con l-right-con-expanded">
           <div id="backToManage" class="mod-back-to-manage">
           <div id="evaluateView" class="mod-evaluate-view" log-mod="evaluateView">
                 <iframe id="st-content-iframe" frameborder="no" border="0" style="width: 100%; border: medium none; height: 8042px;">
                 <!DOCTYPE >
                    <html>
                       <head>
                       <body>
                            <style>
                            <style>
                            <div class="view">
                                   <h1>项目:【QA测试测试】</h1>
                                   <div class="info-list">
                                         <div class="info-item fixed-hidden">
                                         <div class="info-item fixed-hidden">
                                         <div class="info-item fixed-hidden">
                                         <div class="info-item">
                                         <div class="info-item">
                                         <div class="info-item">
                                         <div class="info-item">
                                         <div class="info-item">
                                         <div class="info-item">
                                                  <span class="info-title">完成情况(入选/目标):</span>
                                                  <span class="info-text">766.22%</span>
                                         </div>
                                         <p>
                                                  <label>结果:</label>
                                                  成功
                                                  <a href="/bidding/publicity/view?bidding_id=2906135780192437042" target="_blank">查看结果</a>
                                        </p>
                                    </div>
                              <div class="results-container clearfix">
                         </div>
                   </body>
              </html>
         </iframe>
       </div>
    </div>
</div>
实际上是这样一个格式,大神求解!

作者: joykao    时间: 2015-10-29 17:27
OverTimeDog 发表于 2015-10-29 13:57
...

果然是多iframe的,你在点击那个连接元素的之前加上一句switch试试

driver.switchTo().defaultContent().switchTo().frame("st-content-iframe");
作者: OverTimeDog    时间: 2015-10-29 18:04
joykao 发表于 2015-10-29 17:27
果然是多iframe的,你在点击那个连接元素的之前加上一句switch试试

driver.switchTo().defaultContent ...

感谢! 用你的方法成功了 刚学selenium 没遇到过iframe的 第一次遇到这个情况
作者: joykao    时间: 2015-10-29 18:11
OverTimeDog 发表于 2015-10-29 18:04
感谢! 用你的方法成功了 刚学selenium 没遇到过iframe的 第一次遇到这个情况

多遇到问题以后就知道啦




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2