したがって、複数の行と列を持つテーブルがあります。
<table>
<tr>
<th>Employee Name</th>
<th>Reg Hours</th>
<th>OT Hours</th>
</tr>
<tr>
<td>Employee 1</td>
<td>10</td>
<td>20</td>
</tr>
<tr>
<td>Employee 2</td>
<td>5</td>
<td>10</td>
</tr>
</table>
別の表もあります。
<table>
<tr>
<th>Employee Name</th>
<th>Revenue</th>
</tr>
<td>Employee 2</td>
<td>$10</td>
</tr>
<tr>
<td>Employee 1</td>
<td>$50</td>
</tr>
</table>
従業員の順序はテーブル間でランダムである可能性があることに注意してください。
nokogiriを使用して、各従業員をオブジェクトとして、合計時間と収益を含むjsonファイルを作成するにはどうすればよいですか?
現在、いくつかのxpathを使用して個々のテーブルセルを取得することができます。例えば:
puts page.xpath(".//*[@id='UC255_tblSummary']/tbody/tr[2]/td[1]/text()").inner_text
編集:
ページオブジェクトgemと@Dave_McNullaからのリンクを使用して、このコードを試して、何が得られるかを確認しました。
class MyPage
include PageObject
table(:report, :id => 'UC255_tblSummary')
def get_some_information
report_element[1][2].text
end
end
puts get_some_information
ただし、何も返されていません。
データ:https ://gist.github.com/anonymous/d8cc0524160d7d03d37b
時間表の複製があります。最初のものは大丈夫です。必要なもう1つのテーブルは、アクセサリの収益テーブルです。(アクティベーションテーブルも必要ですが、時間とアクセサリの収益テーブルをマージするコードからそれをマージしようとします。