0

私は以下のようなラジオボタンを持っています

<input id="Overriden" type="radio" value="false" name="Overriden" title="Current Setting" disabled="">Inherit
<input id="Overriden" type="radio" value="true" name="Overriden" checked="checked" title="Current Setting">Override

テキストを上書きまたは継承するにはどうすればよいですか

私が試してみました

find("#Overriden[checked='checked']").text
find("#Overriden[checked='checked']").label
find("#Overriden[checked='checked']").innerHTML
find("#Overriden[checked='checked']").value ( which gives me true or false which I am not after)

XPATHソリューションも歓迎します。

ご協力いただきありがとうございます!

4

4 に答える 4

0

ご回答有難うございます。私はなんとかハックでそれを追いかけることができました。これは短いプロジェクトであり、アプリは別のチームのものであるため、HTMLを変更できませんでした。

 settings=[] 
 pos=0
 i=0 
 all("div.inheritence").each do |elem|
   within(elem) do 
    all("#Overriden").each do |input_tag|
     i+=1 
     within(input_tag) do 
       if input_tag[:checked] 
           pos=i 
       end 
     end
    end 
   end 
   set=elem.text 
   settings =set.scan(/\w+/) 
  end 
settings[pos] 
于 2012-12-10T10:14:30.510 に答える
0

私はカピバラについてあまり知らないことを前もって認めますが、html は知っています。また、取得しようとしているテキストは要素の外側にあります (input要素には直接関連付けられたテキストはありません)。要素の外側にあるこれを取得するのは難しい傾向があります。labelということで、aかspanタグに以下の文を入れることをオススメします。だから、このようなもの:

HTML を変更する

<input id="Overriden" type="radio" value="true" name="Overriden" checked="checked" title="Current Setting"><label>Override</label>

次に、このようなものを選択します

(カピバラの機能の私の欠如が示されている場所です:文字列にcss隣接兄弟セレクター+を使用するかどうかはわかりませんfindが、隣接兄弟(次の要素)をinputカピバラで選択できます。)

find("#Overriden[checked='checked'] + label").text
于 2012-12-07T15:09:03.217 に答える