0

同じクラス名で ID のない要素が複数あります。クラス名を持つ最初の要素を取得する必要があります。html が次のようになっているとします。

<table class="default-table">       
  <thead>
    <tr>    
      <th class="cell"><span class="text"> Title1</span></th>    
      <th class="cell"><span class="text"> Title2</span></th>
      <th class="cell"><span class="text"> Title3</span></th>    
      <th class="cell"><span class="text"> Title4</span></th>    
    </tr>
  </thead>

  <tbody class="tb">
   <tr>      
     <td class="theInput">
     <input type="text" data-type="string" value="" class="text " data-model-key="item1">    
     </td>

     <td class="theInput">
     <input type="text" data-type="string" value="" class="text " data-model-key="item2">  
     </td>

     <td class="theInput">
     <input type="text" data-type="string" value="" class="text " data-model-key="item3">    
     </td>

     <td class="theInput">
     <input type="text" data-type="string" value="" class="text " data-model-key="item4">    
     </td>
   </tr>       
  </tbody>
</table>

ここで、クラス「テキスト」で 1 番目と 3 番目の入力フィールドの値を設定したいのですが、次のような Java を使用している場合の解決策を見つけました。

classElement = driver.findElements(By.className("text")); 
classElement.get(1).value("1234");
classElement.get(3).value("5678");

私はJavaに慣れていないのでうまくいくかどうかわかりませんが、論理的に見えます.PHPでこのような解決策はありますか? それとも、この場合、クラスを呼び出して要素にアクセスするよりも良い方法ですか?

4

1 に答える 1

0

次のような解決策を見つけました。

$items = $this->elements($this->using('css selector')->value('table.default-table input.text'));


$items[0]->value('1234');
$items[2]->value('5678');
于 2013-06-05T06:50:38.303 に答える