2014-12-18 193 views
0

我需要幫助解決如何進入價值與包裹內表的表單元格關聯的文本框中輸入td無法輸入值輸入文本框

的HTML是:

<td role="gridcell"> 
    <span style="width: 95px;" class="k-widget k-numerictextbox campaignBid"> 
    <span class="k-numeric-wrap k-state-default"> 
     <input type="text" class="k-formatted-value campaignBid k-input valid" tabindex="0" style="display: inline;" aria-disabled="false" aria-readonly="false"> 
     <input type="text" style="display: none;" value="0.0079" class="campaignBid k-input valid" id="mb_2" data-role="numerictextbox" role="spinbutton" aria-valuemin="0.0079" aria-valuemax="1" aria-valuenow="0.0079" aria-disabled="false" aria-readonly="false"> 
     <span class="k-select"><span class="k-link" unselectable="on"><span title="Increase value" class="k-icon k-i-arrow-n" unselectable="on">Increase value</span></span><span class="k-link" unselectable="on"><span title="Decrease value" class="k-icon k-i-arrow-s" unselectable="on">Decrease value</span> 
     </span> 
    </span> 
    </span> 
    </span> 
</td> 

我有使用生成器試圖執行: bvar = first(:xpath, "/td[7]/span/span/input") builder=page.driver.browser.action builder.key_down(:control).click(bvar.native).send_keys('a').send_keys("#{value}").performsleep of 1秒,但不工作,我沒能獲得單獨輸入值,每時間框中添加「0」。在代碼的開頭。

任何幫助將不勝感激。

<td role="gridcell"><span style="width: 95px;" class="k-widget k-numerictextbox campaignBid"><span class="k-numeric-wrap k-state-default"><input type="text" class="k-formatted-value campaignBid k-input valid" tabindex="0" style="display: inline;" aria-disabled="false" aria-readonly="false"><input type="text" style="display: none;" value="0.0079" class="campaignBid k-input valid" id="mb_2" data-role="numerictextbox" role="spinbutton" aria-valuemin="0.0079" aria-valuemax="1" aria-valuenow="" aria-disabled="false" aria-readonly="false"><span class="k-select"><span class="k-link" unselectable="on"><span title="Increase value" class="k-icon k-i-arrow-n" unselectable="on">Increase value</span></span><span class="k-link" unselectable="on"><span title="Decrease value" class="k-icon k-i-arrow-s" unselectable="on">Decrease value</span></span></span></span></span></td> 
+1

有兩個輸入你靶向哪個輸入? – Saifur

+0

@Saifur我的目標是第一個 – cage

+1

然後請使用'bvar = first(:xpath,「/ td [7]/span/span/input [1]」)'或簡單地'bvar = first(:xpath,「/TD [7] //輸入[1]「)'。它將針對第一個**輸入**標籤 – Subh

回答

0

你應該簡單地做

find(:xpath, "/td[7]/span/span/input[1]").set "" 
find(:xpath, "/td[7]/span/span/input[1]").set "Your value" 

第一線,清除現有值

+0

錯誤是什麼意思? – Saifur

+0

第一個:xpath已解決,但第二個它說該元素不可見,即第一個(:xpath,「/td[7]/span/span/input[1]").set」「'工作而':first(:xpath,「/td[7]/span/span/input[1]").set」Your value「'產生錯誤'」元素不可見,因此可能不會被交互(Selenium :: Webdriver :: Error :: ElementNotVisisbleError)「' – cage

+0

在這種情況下使用一些等待可能會等到同一個元素。在清除字段 – Saifur