2016-04-05 61 views
0

我有一點問題與選擇此輸入形式Casperjs中的提交按鈕。選擇器與更改表單ID

<div id="id1d9" style="display:none"></div> 
    <div class="item wishname" id="id1da"> 
    <!-- <div class="item wishname">--> 
    <label id="id1db" for="id1a0"> 
     E-Mail-Wunschname 
    </label> 

    <div class="input" id="id1a1"> 
     <input class="wishname feedback-panel-trigger multiReplaceCharsInWishnamelField" autocomplete="off" maxlength="40" value="" name="wishnamePanel:wishname:subForm:alias" id="id1a0" type="text"> 

      <span class="btn-positioner"> 
       <span class="btn-wrapper btn-m btn-key"> 
        <input name="wishnamePanel:wishname:subForm:checkAvailability" id="checkAvailabilityBtn" value="Prüfen" type="submit"> 
       </span> 
      </span> 

主要的問題是,每個重新加載隨機化的ID的ID變化。所以casperjs ==>

this.sendKeys('#id1a0 ',"Test String"); 

不起作用。

回答

3

由於ID總是變化,因此您應該使用備用selector來定位此元素。您可以使用類,標籤名稱或其組合。

這個怎麼樣:

.wishname.feedback-panel-trigger.multiReplaceCharsInWishnamelField 

或本:

.item.wishname > .input > input 

如果你有,你可以嘗試重複,以獲得正確的相同的類多個項目。

+0

很好,它的工作原理。非常感謝! – swapfile

+1

@Chrisko由於這解決了您的問題,您可能需要[接受](http://meta.stackexchange.com/q/5234/266187)答案。我也注意到,在你之前的問題中,你還沒有接受過很多答案。如果沒有足夠的答案,那麼這很好,但請再次檢查是否有答案可以接受。 –

+0

Thx,我不知道那樣做... – swapfile