2013-05-08 66 views
0
<section class="my-account-box-element box box-decoration-3 gutter-row-2"> 
    <div class="box-inner"> 
     <div class="box-content group"> 
      <div class="box-panel"> 
       <ul class="box-panel-nav stack-list"> 
        <li class="gutter-col-4"> 
         <span class="item icon-home icon-color-1"> 
          <a class="link-color-1" href="/myaccount">Моята Сметка</a> 
         </span> 
        </li> 

嗨,雖然在「icon-color-1」的跨度中找到類名稱,但發現「icon-color-1」更改爲「icon-color-0」條件。需要類名分成兩個部分拆分類名稱

試過以下,但不是非常有用:

WebElement myAccountBoxElement = driver.findElement(By.className("my-account-box-element")); 
WebElement spanItem = myAccountBoxElement.findElements(By.tagName("span")); 
boolean itemColor = (spanItem.getAttribute("class").contains("item-color-1")) ? true : false; 
+0

所以你的意思是你得到的跨度的類名之後,你需要檢查,如果類名以1或0結束, 是對的嗎? – 2013-05-08 21:15:46

+0

是的。的確如此。需要做item-color-1的子字符串。如果得到0,則狀態-1否則狀態-2。 – user2340124 2013-05-08 21:24:17

回答

0

我沒有使用Java進行了一段時間,但會給它一個嘗試,看看它是如何工作的。

// simplify the span locating 
WebElement spanItem = driver.findElement(By.cssSelector(".my-account-box-element span")); 

int colorNum = -1; 
String[] classNames = spanItem.getAttribute("class").split(" "); 
for(String className : classNames) { 
    // html says "icon-color-", your code says "item-color-" 
    if(className.startsWith("icon-color-")) { 
     colorNum = Integer.parseInt(className.replace("icon-color-", "")); 
     break; 
    } 
} 

if (colorNum == 0) { 
    // do stuff for item-color-0 element 
} else if (colorNum == 1) { 
    // do stuff for item-color-1 element 
} else { 
    // exception 
} 
+0

非常感謝。它一舉成功! :D – user2340124 2013-05-09 07:04:46

+0

如果你讓我知道如何使用「cssSelector」而不是xpaths。 – user2340124 2013-05-09 07:06:04

+0

@ user2340124:一個很好的CSS選擇器教程[你必須記住的30個CSS選擇器](http://net.tutsplus.com/tutorials/html-css-techniques/the-30-css-selectors-you-must-memorize /)。對硒而言,以下方法足夠有用:'''''','''','+',':not','[foo =「bar」]''''foo〜=「bar」]' ,'[foo * =「bar」]','[foo^=「bar」]','[foo $ =「bar」]' – 2013-05-09 09:29:57

0

獲取類的名稱通過數組和拆分它...

<script type="text/javascript"> 
    function Validations(){ 

     var inp_valid=/^[A-Z a-z]{4,}$/; 
     var inpm_valid=/^[a-zA-Z0-9\-_]+(\.[a-zA-Z0-9\-_]+)*@[a-z0-9]+(\-[a-z0-9]+)*(\.[a-z0-9]+(\-[a-z0-9]+)*)*\.[a-z]{3}$/; 
     var inpn_valid= /^\d{10}$/; 

     var inp = document.querySelectorAll("input"); 
      for (var i = 0; i < inp.length; i++) 
      { 
       var inpslipt = inp[i].className.split(' '); 

        for (var j =0; j < inpslipt.length; j++) 
        { 
         if(inpslipt[j] == "names") 
         { 
          if ((inp[i].value == "") || !inp_valid.test(inp[i].value)) 
          { 
           inp[i].focus(); 
           alert("please enter a valid name"); 
           return false; 
          } 
         } 
         else if(inpslipt[j] == "mail") 
         { 
          if ((inp[i].value == "") || !inpm_valid.test(inp[i].value)) 
          { 
           inp[i].focus(); 
           alert("please enter a valid email"); 
           return false; 
          } 
         } 
         else if(inpslipt[j] == "number") 
         { 
          if ((inp[i].value == "") || !inpn_valid.test(inp[i].value)) 
          { 
           inp[i].focus(); 
           alert("please enter a valid number"); 
           return false; 
          } 
         } 
        } 
      } 
      document.forms["myform"].submit(); 
    } 
</script>