HTML 테이블의 특정 행에있는 링크를 처리하려고합니다.Mechanize in Rails를 사용하여 셀의 값을 기반으로 링크를 찾아서 작동합니다.
테이블에는 링크 역할을하는 도시 이름의 날짜와 열에 대한 열이 있습니다. 특정 날짜의 행을 찾은 다음 동일한 행의 다음 셀에서 발견 된 링크를 차례로 순환해야합니다.
내가 이전 페이지에서 기계화와 대상 페이지에 도달 (페이지에 링크가 이렇게 직접 링크 할 수없는 이전 페이지 생성된다) 나는이와 상기 테이블을 선택할 수 있어요 :
agent.page.search("//table[@class='calendar']")
을 그러나 그 후, Date-column에있는 날짜를 기준으로 올바른 행을 선택하고 각 링크를 차례로 클릭하는 방법 (그리고 자연스럽게 다음 도시로 이동하기 전에 물건을 처리하는 방법)을 놓치고 있습니다.
편집이 좀 진전을 할 수 있었다. 정확한 행에 정확한 셀의 내용을 가져올 수있게되었습니다. IF 날짜를 하드 코드합니다. 그러나 하드 코딩 된 날짜 대신 변수를 사용하는 방법을 알아낼 수 없으며 단지 코드를 사용하는 방법을 찾아야합니다. 날짜를 입력하고 거기에 텍스트로 평일을 포함하지 마십시오.
agent.page.search("//table[@class='calendar']/tbody/tr/td[@class='date']
[text()='wed 27.8.2014']/following-sibling::td[1]/ul/li")
예 HTML은 아래 :
<table class="calendar">
<tr>
<th>Date</th>
<th>City</th>
</tr>
<tr class="odd">
<td class="date">thu 28.8.2014</td>
<td class="city">
<ul>
<li><a href="">London</a></li>
<li><a href="">Paris</a></li>
<li><a href="">Berlin</a></li>
</ul>
</td>
</tr>
<tr class="even">
<td class="date">wed 27.8.2014</td>
<td class="city">
<ul>
<li><a href="">London</a></li>
<li><a href="">Paris</a></li>
<li><a href="">Berlin</a></li>
</ul>
</td>
</table>
모든 도움이 크게 감사합니다!