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

你可以使用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 回答
1

它是该表中唯一的链接吗?还是总是该表中的第一个链接?

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

如果有多个表,那么你必须弄清楚如何找到你想要的那个。也许是表格内的文字。如果在您的示例中,文本 Noor 对于该表是唯一的,那么您可以尝试这样的事情

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

或者如果您知道上面的结构将在链接和有关报告的信息位于单个表格行的情况下持续存在)

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

您必须尝试决定哪个最坚固或最不脆弱

于 2012-04-10T07:53:43.793 回答