1

次の HTML コードがあります。

<table class="report" width="100%">
<thead>
</thead>
<tbody>
<tr class="alt">
<td>
<a onclick="window.open(this.href);return false;" href="/search/searches/1563/reports/946">56175-746-45619568-noor.fli.zip</a>
</td>
<td class="_"> Report </td>
<td class="_"> 09 Apr 2012</td>
<td class="_"> Noor</td>
<td class="_"> 2.8 MB</td>
<td class="_">Ready</td>
</tr>

クリックしたいのhref="/search/searches/1563/reports/946">56175-746-45619568-noor.fli.zipですが、XPATH を使用したくありません。XPATH を使用せずにこの href をクリックする方法はありますか? どうもありがとう。

4

2 に答える 2

1

それはその表の唯一のリンクですか?または常にそのテーブルの最初のリンクですか?

browser.table(:class => 'report').a.click

複数のテーブルがある場合は、必要なテーブルを見つける方法を理解する必要があります。おそらくテーブル内のテキストによって。あなたの例でテキスト Noor がそのテーブルに固有のものである場合、次のようなことを試すことができます

browser.table(:class => 'report', :text => /Noor/).a.click

または、リンクとレポートに関する情報が 1 つの表の行にある場合、上記の構造が維持されることがわかっている場合)

browser.row(:text => /Noor/).a.click

どちらが最も堅牢であるか、または最も脆弱でないかを判断する必要があります

于 2012-04-10T07:53:43.793 に答える
1

href を使用できます

br.link(:href => '/search/searches/1563/reports/946').click

またはテキスト

br.link(:text => '56175-746-45619568-noor.fli.zip').click

または、正規表現一致でバリエーションを使用できます

br.link(:href => /reports/).click

また

br.link(:text => /noor.fli.zip/).click
于 2012-04-10T00:10:40.280 に答える