0

Web ページからテキストを取得し、コンソールに配置する必要があります。以下の html からテキストを取得できません。誰でもこれについて私を助けてください。

<div class="twelve columns">
<h1>Your product</h1>
<p>21598: DECLINE: Decline - Property Type not acceptable under this contract</p>
<div class="row">
</div>

私はb.div(:class => 'twelve columns').exist?irbを試してみましたtrue

私はこれを試しました - b.div(:class => 'twelve columns').text、段落ではなくヘッダーのテキストを返します。

- で試してみましたがb.div(:class => 'twelve columns').p.text、返されましたerror - unable to locate element, using {:tag_name=>"p"}

4

2 に答える 2

0

あなたが書いた例でこれを行うだけでうまくいきました:

browser.div(:class => 'twelve columns').p.text

あなたの最善の策は、実際に要素構造が提供されていること、およびそれらが適切にネストされていることについて、ページの css を確認することです。

于 2013-10-01T12:19:37.163 に答える
0

HTMLを少し修正しました:

<div class="twelve columns">
<h1>Your product</h1>
<p>21598: DECLINE: Decline - Property Type not acceptable under this contract</p>
<div class="row"></div>
</div>

小さな例を見てみましょう:

div = b.div(:class => 'twelve columns')

要素の列挙は次のとおりです。

div.elements.each do |e|
  p e
end

そのようなことをします:

<Watir::HTMLElement ... # <h1>Your product</h1>
<Watir::HTMLElement ... # <p>21598: DECLINE: Decline - Property Type not acceptable under this contract</p>
<Watir::HTMLElement ... #<div class="row">

DIV から子要素 P を指定する場合は、次のようにします。

p = div.p

また

p = div.element( :tag_name => 'p' )

P のテキストを取得する場合:

p.text # >> 21598: DECLINE: Decline - Property Type not acceptable under this contract

または、単一の文字列で行うイベント:

b.div(:class => 'twelve columns').p.text

=> "21598: DECLINE: Decline - Property Type not acceptable under this contract" 
于 2013-10-01T13:39:04.150 に答える