selenium處理隱藏元素的方法


<li class="navbar-nav-item ">
      <a href="#" id="cust">XX管理</a>
                        <ul class="navbar-dropdown-menu">
                            <li class="dropitem-current"><a href="/Customer/Index">XX列表</a></li>
                            <li class="navbar-dropitem" id="list_2"><a href="/Customer/CommunicateIndex">XX列表</a></li>
                        </ul>
  </li>
 
第一種:
先將鼠標移動至需要經過懸停的元素,再獲取顯示的元素並點擊;代碼示例如下:
Actions action = new Actions(chrome);
action.moveToElement(chrome.findElement(By.id("cust")  )).perform(); // 鼠標移動到 toElement 元素中點
Thread.sleep(1000);
chrome.findElement(By.id("list_2") ).click(); // 【XX列表】click事件
 
chrome.manage().window().maximize(); // 窗口最大化
action.release(); // 鼠標事件釋放  
       PS:
  1. 建議經過懸停的時候加入等待;
  2. 因鼠標事件穩定性較差建議操作后將窗口最大化;
  3. 鼠標事件結束后建議釋放;
 
 
第二種:
     對於菜單中的隱藏的下拉選項,鼠標懸浮時才顯示出來,調用 action.moveToElement(element).build().perform();或 action.keyDown(keys).build().perform();一般情況下都是可以解決的。然而某些時候卻不管用,這時可以借助 JavaScript實現隱藏元素的點擊操作,代碼示例如下:
         JavascriptExecutor js = (JavascriptExecutor) chrome;
         myjs="document.getElementsByClassName('dropitem-current')[0].childNodes[0].click();";
         System.out.print(myjs);
         js.executeScript(myjs);


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM