2

问题帮助

嗨,我是 Ruby 和 watir-webdriver 的新手,我已经搜索了所有内容,但找不到答案。

我有一个表格内的链接,该表格在表格顶部有一个标题,如果单击,该表格会按数字排序。在 Chrome 和 Ie 中,链接被点击并继续,但在 Firefox 中,它点击标题并重新组织表格,但不是链接,也没有给出错误消息。

我尝试过 xpath、正则表达式、表引用、:href、:text,(没有 id 或 name 字段),并使用 .flash 方法,我看到它查看了正确的链接,但仍然单击顶部的表。

这是html

<thead>
    <tr>
        <th id="0" class="canclick" width="14%" align="left" datatype="string">
            Contract #
            <span id="sortIndicatorBlank">&nbsp;&nbsp;&nbsp;&nbsp;</span>
        </th>
    </tr>
</thead>
<tbody>
    <tr class="backD">
        <td width="10%" valign="top" align="left">
             <a href="/policy/clientAccountSummary.action?forwarder=ClientList&basho.menuNodeId=12801&basho.taskPanelNodeId=1261&number=015633828"> 015633828 </a>
        </td>

这是我正在使用的代码,它在 Chrome 和 Ie 中单击正确的链接,但在 Firefox 中却没有

link = "015633828"

exp1 = Regexp.new link

@browser.link(:href, exp1).click

再次澄清:使用 .flash 方法它会找到正确的链接(闪烁我想在表格内单击的链接),但在实际的 .click 操作中,它会单击标题的“合同 #”部分而不是链接。

我认为问题可能在于表格标题是一个浮动标题,即当您向下滚动页面时它会随着您移动并停留在页面顶部,以便始终可见。

如果您需要更多信息来澄清,请告诉我。谢谢!

4

3 回答 3

3

我不确定它为什么这样做,但作为一种潜在的解决方法,您是否可以尝试按照以下方式将 href 值从链接中拉出,然后让浏览器直接转到它?

@browser.goto(@browser.link(:text, ' 015633828 ').href)

(您可能需要将网站的基本网址添加到 href 以使其正常工作,但您明白了)

于 2011-07-07T22:40:02.717 回答
1

或者可能尝试使用 xpath:

@browser.link(:xpath,"//a[@text=' someUser# ']").click

于 2011-07-07T11:51:29.940 回答
0

好吧,如果你想确保td点击标签内的链接,而不是th标签内的链接,试试这个:

browser.td.link(:href => /someUser#/).click

您提供了 HTML 和 Watir 代码是一件好事,但在未来,请尝试提供真实的 HTML(或尽可能真实的)。someUser#真的让我很困惑,我什至不确定我是否理解了这个问题。

如果我提供的解决方案不起作用,请编辑问题以包含真实的 HTML。

于 2011-07-07T09:07:49.593 回答