7

チェックボックスがチェックされているかどうかをxpathで判断する方法

現在私は試しています:

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

同じIDのチェックボックスが複数あるので、選択/チェックされていない次のチェックボックスを選択する必要があります。

特にSeleniumIDEにはこれが必要です

私が実際に必要なものを編集するのは次のようなものです:

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

チェックボックス'xyz'がチェックされている場合、is_checkedの値は1である必要があります。それ以外の場合は0です。

ありがとう

4

5 に答える 5

13

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']

ラジオも渡されます:-)

于 2012-11-19T11:15:56.217 に答える
4

ここに画像の説明を入力してください

これstnewrecordがチェックボックスのクラスです。スクリプトはチェックボックスの数を保存し、それに応じてループが続きます。チェックボックスがオンになっているかどうかをチェックし、チェックしていない場合はチェックし、そうでない場合は次のステップに進みます。

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

これはチェックボックスのxpathです。「i」は位置であり、反復ごとに増加します。

それがあなたのために働いているかどうか私に知らせてください。

于 2012-08-01T13:11:00.947 に答える
3

ただし、cssクラスとセレクターを使用しないソリューションがあります。

使用する

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

また

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

それ以外の

//input[@type='checkbox' and @checked='xyz']
于 2012-11-25T19:37:26.317 に答える
0

このようなものが機能する可能性があります:

//input[@checked='checked']/following-sibling::*[1][not(@checked='checked')]
于 2012-08-01T12:30:02.300 に答える
0

あなたはこれらを試すことができます:

//*[@type='radio'][@checked='checked']/
//*[@type='radio'][not(@checked='checked')]/
于 2013-09-16T16:49:17.073 に答える