0

div の子項目である li からテキスト値を取得しようとしています。私の問題は、同じクラス名の div が複数あることです。Watir は最初の div だけを考慮します。私は次のことを試しました:

ie.div(:class,'class1', :index => 0).lis.each do |li|
  puts li.text
end

インデックスを変更しましたが、何も出力されません

プロセスは終了コード 0 で終了しました

「注文番号:12345678」を抽出する方法があれば教えてください。

HTML コード:

<html>
 <body>
  <form name:"Form1" action="action.cfm">
   <table width = "100%" align = "center" cellPadding = "10">
     <tbody>
    <tr>
      <td width="33%" vAlign="top">
      <td width="33%" vAlign="top">
      <td width="33%" vAlign="top">
       <div class="class1">
       <div class="class2">
       <div class="class3">
       <div class="class4">
       <div class="class5">
       <div class="class4">
       <div class="class2">
       <div class="class1">
           <li>
          Text - Order Number: 12345678
      <td width="33%" vAlign="top">
        .
        .
        .
      <td width="33%" vAlign="top">

ありがとうございました!

4

1 に答える 1

0

「注文番号」が既知のテキストであると仮定すると、それを使用して目的の要素を見つけることができます。

「注文番号」がリスト項目に 1 回しか表示されない場合は、div をバイパスして li を直接取得することをお勧めします。

browser.li(:text => /Order Number:/).text
#=> "Order Number: 12345678"

div 要素が必要な場合は、そのクラスとテキストで取得できます。

parent_div = browser.div(:class => 'class1', :text => /Order Number:/)
parent_div.li.text
#=> "Order Number: 12345678"

正規表現を使用してテキストを照合していることに注意してください。これは、部分一致を可能にするためです (つまり、完全一致の文字列を使用する場合と比較して)。

于 2013-08-28T15:23:18.790 に答える