0

h2 タグ内に含まれるテキストをフラッシュしようとしています。ただし、h2 タグに class 属性がある場合は、そうすることができません。

h2 タグ内に含まれるテキストを取得できますが、テキストをフラッシュできないようです。助けてください。

ソースコード:

<div class="nextJump12 margin-bottom">
  <h2 class="white-gradient-bg border round-border">Next to jump</h2>

Watir-webdriver コード:

@browser.div(:class => "nextJump12 margin-bottom").flash
@nexttojump = @browser.div(:class => "nextJump12 margin-bottom")
puts @nexttojump.h2.text
4

1 に答える 1

0

Željko が述べたように、flashフラッシュされる要素の背景色を変更するだけです。

HTML では、要素は親/祖先のスタイルを継承します。ただし、要素は独自のスタイル (クラスまたはインライン) を指定することで、親のスタイルをオーバーライドできます。

たとえば、要素が次のとおりだったとします。

<div style="background-color:blue;">
  <h2>Next to jump</h2>
</div>

次に、h2 は div 要素の背景色を継承します。つまり、青色の背景色で表示されます。

ここで、h2 が独自の背景色を指定しているとします。

<div style="background-color:blue;">
  <h2 style="background-color:green;">Next to jump</h2>
</div>

ブラウザーでは、h2 の周りに青色の背景ではなく、緑色の背景のみが表示されます。これは、h2 のスタイルが div から継承されたスタイルよりも優先されるためです。

これは、次のことを意味します。

browser.div.flash

変化は見られません。div の背景は赤と青の間で変化しますが、最終的には h2 のスタイルが常にそれをオーバーライドします。

したがって、DOM の最下位の要素 (この場合は h2. このように、h2 が継承または定義するスタイルに関係なく、フラッシュ スタイルの変更が最も優先されます。

browser.div.h2.flash

したがって、あなたのコードでは、次を試すことをお勧めします。

browser.div(:class => "nextJump12 margin-bottom").h2.flash
于 2013-10-22T10:57:48.273 に答える