これは単なる構文の問題かもしれません。
ID が rowId_ で始まるテーブル行のみを照合する方法が不明です
agent = Mechanize.new
pageC1 = agent.get("/customStrategyScreener!list.action")
テーブルには class=tableCellDT があります。
pageC1.search('table.tableCellDT tr[@id=rowId_]') # parses OK but returns 0 rows since rowId_ is not matched exactly.
pageC1.search('table.tableCellDT tr[@id=rowId_*]') # Throws an error since * is not treated like a wildcard string match
HTML の例:
<table id="row" cellpadding="5" class="tableCellDT" cellspacing="1">
<thead>
<tr>
<th class="tableHeaderDT">#</th>
<th class="tableHeaderDT sortable">
<a href="?d-16544-s=1&d-16544-o=2&d-16544-p=1">Screener</a></th>
<th class="tableHeaderDT sortable">
<a href="?d-16544-s=2&d-16544-o=2&d-16544-p=1">Strategy</a></th>
<th class="tableHeaderDT"> </th></tr></thead>
<tbody>
<tr id="rowId_BullPut" class="odd">
<td> 1 </td>
<td> Bull</td>
<td></td>
<td><a href="link1?model.itemId=2262">Edit</a>
<a href="javascript:deleteScreener('link2?model.itemId=2262');">Delete</a>
<a href="link3?model.itemId=2262&amp;model.source=list">View</a>
</td></tr>
ノート
pageC1はMechanize::Page
オブジェクトであり、何もありませんNokogiri
。申し訳ありませんが、最初は明確ではありませんでした。Mechanize::Page には #css メソッドや #xpath メソッドはありませんが、そこから Nokogiri ドキュメントを抽出できます (とにかく内部的に使用されます)。