2014-02-22 52 views
0

按鈕如下圖所示大量排列。 按鈕或減少它或增加取決於一天。 「價值」的內容只是變化。點擊所有[Ruby Selenium-webdriver]的複選框

<input type="checkbox" value="021258" name="xbutton"></input> 
<input type="checkbox" value="084192" name="xbutton"></input> 
<input type="checkbox" value="095842" name="xbutton"></input> 
<input type="checkbox" value="096325" name="xbutton"></input> 
... 
... 

我想經營喜歡檢查所有這一切。 我覺得這樣可以對各種情況做出反應,並且對非xpath做了。 它似乎沒有點擊第一個它是以下事情之一。

driver.find_element(:name, "xbutton").click 

回答

1

我第一次保存,只是爲了測試所有的HTML部分,在如下文件test.html

<input type="checkbox" value="021258" name="xbutton"></input> 
<input type="checkbox" value="084192" name="xbutton"></input> 
<input type="checkbox" value="095842" name="xbutton"></input> 
<input type="checkbox" value="096325" name="xbutton"></input> 

我們檢查每個這些複選框,我寫的代碼如下:

driver = Selenium::WebDriver.for :firefox 
driver.navigate.to "file:///home/kirti/workspace/Ruby/test.html" 

elements_to_click = driver.find_elements(:xpath, "//input[@name='xbutton']") 
# below code will check only those check boxes which are not checked previously. 
elements_to_click.each { |e| e.click if e.attribute('checked').nil? } 

下面是截圖:

**check box** :