2017-03-16 349 views
0

我试图在使用机器人框架的html标签上查找元素。我想点击第一个元素是什么元素。如何点击Robot Framework中的元素(html标签)Selenium

例如在文本字段

  1. 输入文本,然后通过按键输入

  2. 该项目将显示出来,我想点击第一个项目,但我不能

我的机器人代码

Open Browser http://www.tarad.com chrome 
Wait Until Element Is Visible id=keyword 
Input Text id=keyword dog 
Press Key id=keyword \\13 
Wait Until Element Is Visible id=wrapper_body_all 
Element Should Be Visible id=wrapper_body_all 
Click Element xpath=//div[id='warpper_all']/div[id='wapper_body_all']//ul/il//img[constains(@src,'//img.trd.cm/120/120/sumpow/img-lib/spd_20140314140410_b.jpg')] 

我的HTML标签

<div id="wrapper_body_all"> 
<div class="main-wrap"> 
    <!--start : #rightProduct--> 
    <div class="section-col-right">   
     <!--start : rec_product --> 
     <div class="rec_product"> 
     <!-- end : rec_product --> 
     <div class="rec_product"> 
      <div class="section-products-box"> 
       <div class="hitproduct-body"> 
        <ul class="hitproduct-list list"> 
         <!--start : product-list--> 
         <li> 
          <div class="item-border list"> 
           <div class="item-image"> 
             <a href="//www.tarad.com/product/5913180" title="ลำโพงน่ารัก dog"> 
              <img src="//img.trd.cm/120/120/sumpow/img-lib/spd_20140314140410_b.jpg" 
              alt="ลำโพงน่ารัก dog" data-pagespeed-url-hash="3676782613" 
              onload="pagespeed.CriticalImages.checkImageForCriticality(this);"> 
             </a> 
           </div> 
           <div class="item-details">           
            <div class="product-name"> 
             <a href="//www.tarad.com/product/5913180" title="ลำโพงน่ารัก dog">ลำโพงน่ารัก dog</a> 
            </div> 
           </div> 
          </div>  
         </li> 
         <!--end : product-list--> 
         <!--start : product-list--> 
         <li> 
          <div class="item-border list"> 
           <div class="item-image"> 
            <a href="//www.tarad.com/product/6755464" title="Brewdog Magic Stone Dog - 330 ml - 5"> 
             <img src="//www.tarad.com/images/web_main/default150x150.gif" 
             alt="Brewdog Magic Stone Dog - 330 ml - 5" data-pagespeed-url-hash="2123596038" 
             onload="pagespeed.CriticalImages.checkImageForCriticality(this);"> 
            </a> 
           </div> 
           <div class="item-details">           
            <div class="product-name"> 
             <a href="//www.tarad.com/product/6755464" title="Brewdog Magic Stone Dog - 330 ml - 5"> 
              Brewdog Magic Stone Dog - 330 ml - 5</a> 
            </div> 
           </div> 
          </div> 
         </li> 
         <!--end : product-list--> 
         .... 
         .... 
         .... 
        </ul> 
       </div> 
      </div> 
     </div> 
    </div> 
</div> 

strong text

错误 enter image description here

+0

也发布你的机器人代码? – Goralight

+0

“我不能”是什么意思?你为什么不能?你怎么试图做到这一点? –

+0

我刚刚开始学习机器人框架,我的作业希望我选择第一个项目,当我输入文本后,出现在search.but我不能选择第一个项目,因为没有任何id选择:'( –

回答

1

被警告,这是一个相当脆弱的Xpath,但它会做你想要达到的工作:

Open Browser http://www.tarad.com chrome 
Wait Until Element Is Visible id=keyword 
Input Text id=keyword dog 
Press Key id=keyword \\13 
Wait Until Element Is Visible id=wrapper_body_all 
Element Should Be Visible id=wrapper_body_all 
Wait Until Page Contains Element xpath=(//div[@id='wrapper_body_all']/div/div[3]/div/div/div/div[2]/ul/li/div/div/a/img)[1] 
Click Image xpath=(//div[@id='wrapper_body_all']/div/div[3]/div/div/div/div[2]/ul/li/div/div/a/img)[1] 

这个机器人代码为我工作,它去到网站,然后输入“狗”的搜索,然后点击第一个图像的结果。 如果你想找到第二,第三等 - 更改最后一个号码。例如:

xpath=(//div[@id='wrapper_body_all']/div/div[3]/div/div/div/div[2]/ul/li/div/div/a/img)[5] 

会找到第5个结果。只是改变它说的地方[5]。此外,在您的机器人确保它说我刚刚发布的整个xpath。这包括xpath=

有任何问题,请问。

+0

非常感谢你,我可以点击我想要的物品:))))) –

+1

@iSS .f没问题,很高兴我能帮助:)祝你有美好的一天! – Goralight

+0

我还有一个问题'xpath =(// div [@ id ='wrapper_body_all']/div/div [3]/div/div/div/div [2]/ul/li/div/div/a/img)' div后的'[3]'或'[2]'的含义是什么? –

相关问题