2017-08-26 36 views
0

我想要檢查這個複選框與硒在紅寶石編程。 但我不能把檢查。我應該怎麼做?把這個複選框與硒在紅寶石編程

現在,我在下面的代碼。

# code 
element = @driver.find_element(:xpath, '//* 
[@id="lookCheck10"]/div[1]/div[2]/div[1]/label') 
@driver.execute_script("arguments[0].click();", element); 



# html 
<div class="e-select-box p-look-bike__type-box"> 
    <div class="e-title"> 
     <input type="hidden" name="data[Reserve][types][10]" 
    id="lookCheck10_" value="0"/><input type="checkbox" 
name="data[Reserve][types][10]" id="lookCheck10" value="1" 
checked="checked"/>       <label 
for="lookCheck10">BIKE</label> 
    </div> 
    <div class="e-media"> 
     <div class="e-media__body p-look-bike__type-detail"> 
      <p>this is good for family</p> 
     </div> 
     <div class="e-media__image p-look-bike__type-image"> 
      <img src="/images/reserve/img_biketype_10.jpg" alt="bike"> 
     </div> 
    </div> 
</div> 
+1

您遇到的錯誤是什麼? –

+0

我沒有看到任何錯誤? –

+0

你可以把檢查放入複選框嗎?我不能把這個代碼檢查.. – yoyo

回答

0

我假設你想選擇一個帶有標籤'BIKE'的複選框。爲此,請使用以下代碼 -

element = @driver.find_element(:xpath, '//*[@id="lookCheck10"]') 
@driver.execute_script("arguments[0].click();", element); 
+0

爲什麼你建議使用Javascript點擊而不是建議點擊硒? – RAJ

+0

我認爲Selenium點擊沒有工作,這就是爲什麼用戶嘗試JavaScript點擊。 JavaScript點擊有什麼問題? – Kapil

+0

好的! Javascript點擊不等待如果點擊觸發頁面加載。但是當您使用硒點擊時,您將依賴相應的驅動程序點擊,如果點擊導致頁面加載,Firefox驅動程序和Chrome驅動程序將等待頁面加載。最近添加的Firefox的Geckodriver不會等待,但傳統的Firefox驅動程序。 – RAJ