2012-08-01 36 views
5

如何確定是否複選框檢查或不通過的XPathXPath來確定複選框「選中」屬性中硒IDE

目前我正嘗試:

//input[@type='checkbox' and @checked='true')] 

我有相同的ID,以便多個複選框我必須選擇未選擇/檢查的下一個複選框。

具體來說,我需要這個硒IDE

編輯 我真正需要的是某事像:

|storeXpathCount | //input[@name='xyz' and @checked='checked'] | is_checked | 

如果複選框 'XYZ' 被選中,is_checked值應爲1,否則0

謝謝

回答

3

enter image description here

這裏stnewrecord是一流的複選框的。 腳本將存儲複選框的數量,並根據該循環將遵循。 它將檢查複選框是否被選中,否則將檢查否則轉到下一步。

xpath=(//input[@class='stnewrecord'])[${i}] 

這是複選框的xpath。 '我'是位置,它會在每次迭代中增加。

讓我知道它是否爲你工作或不..

+0

請再次檢查我的問題 – sakhunzai 2012-08-28 12:59:19

+0

謝謝了'storeValue | //輸入[@ name ='xyz'] |根據複選框是否被選中,is_checked'會存儲「on」或「off」 – sakhunzai 2012-08-28 13:11:44

0

這樣的事情可能會起作用:

//input[@checked='checked']/following-sibling::*[1][not(@checked='checked')] 
+1

'//輸入[ @檢查='檢查']'不工作,這是問題:( – sakhunzai 2012-08-28 12:57:21

8

中的XPath

// Xpath, only works in certain situations 
//input[@type='checkbox' and @checked='xyz'] 

只能如果複選框的HTML源代碼有一個屬性如下

checked="xyz" 

開發人員可以隨意用任何東西替換「xyz」:「true」,「checked」,「ischecked」,...

所以如果沒有這樣的屬性,上面提到的xpath不起作用。

在等待更多的瞭解,您可以考慮使用一個CSS選擇器,它不依賴於這種屬性:

// CSS selector, for all checkboxes which are checked 
input:checked[type='checkbox'] 

// CSS selector, for all checkboxes which are not checked 
input:not(:checked)[type='checkbox'] 

注意,如果沒有

[type='checkbox'] 

你會得到同樣的無線電:-)

+0

我想你錯過了我的觀點,我需要與Seleinum IDE相關的具體內容 – sakhunzai 2012-11-26 04:49:44

2

但是,有沒有使用CSS類和選擇器的解決方案。

使用

//input[@type='checkbox' and @checked] 

//input[@type='checkbox' and not(@checked)] 

,而不是

//input[@type='checkbox' and @checked='xyz'] 
+1

你有沒有在Selenium IDE中試過這個? @checked值是'開'或'關'它不是一個布爾值! – sakhunzai 2012-11-26 04:52:50

+0

我沒有在IDE中試過這個,但是我使用這個表達式表達式和PHPUnit的Selenium擴展。但是,我認爲xpath引擎對於這兩種工具都是一樣的。讓我知道你是否已經在IDE中嘗試了這一點。 – nichiporets 2012-11-27 15:04:48

+0

是的我對selenium IDE有一些測試,它沒有返回布爾值,而是'on','off'對於@checked屬性 – sakhunzai 2012-11-28 05:32:12

0

您可以嘗試以下之一:

//*[@type='radio'][@checked='checked']/ 
//*[@type='radio'][not(@checked='checked')]/ 
+0

謝謝,我們嚴格地在Selenium IDE的上下文中討論它的'@checked 'attirbutes'具有'開'或'關'的價值,請閱讀以上回答的歷史記錄 – sakhunzai 2013-09-17 04:56:12

+0

我已經在Selenium IDE中測試了它們,它似乎在工作,但我可能錯了,因爲我在尋找類似的東西。 – kenorb 2013-09-17 09:35:50