【问题标题】:Clicking a Link in td with Watir使用 Watir 单击 td 中的链接
【发布时间】:2014-08-04 04:49:54
【问题描述】:

我正在尝试使用 Watir 脚本单击图像。这是我要点击的源代码:

<td align="right">
   <a onclick="confirmAndSubmit('Exit application?', 'saveAndExit')"
   onmouseover="style.cursor='hand'">
   <img src="/images/exitBlue.gif" align="bottom"></img>
   </a>
</td>

Watir 似乎无法根据我的代码找到该元素。似乎我必须用参数编写一种复杂的语句。我试过了

$b.td(:img, "src='/images/exitBlue.gif'").click

还有

$b.element(:css, "td[onClick='confirmAndSubmit('Exit application?', 'saveAndExit')']").click

但似乎没有找到表中的数据。关于如何点击这个有什么建议吗?

【问题讨论】:

  • 试试image 方法?例如:b.image(:src, '/images/exitBlue.gif').click
  • 同样的错误:无法定位元素,使用 {:tag_name=>["img"], :src=>"/images/exitBlue.gif"}
  • Shwheelz,然后您可能需要提供有关您的页面的更多详细信息。 @orde 解决方案仅适用于您提供的 html。导致问题的可能还有另一个原因。尝试查看my blog 上列出的不同想法。
  • 我试图选择的元素包含在:
    此处发布源代码
  • 我尝试根据您的博客文章进行故障排除:$b.form(:name, "foo").div(:id, "bar").image(:src, "/images/ exitBlue.gif").click 但也找不到表单。我真的很难过问题可能是什么。如果我执行 when_present,脚本就会挂起。我知道它在正确的页面上,因为我在控制台尝试找到链接之前将 $b.title 打印到控制台。

标签: css ruby html-table watir


【解决方案1】:

我通过反复试验找到了解决方案。如 cmets 中所述,图像位于嵌套表中。我瞄准了第一个表中的 div 并且能够访问它。 element.flash 方法在故障排除方面非常有用。我最初使用的代码只进入表格的第一个单元格,因此找不到图像。对我有用的代码:

$b.div(:id, "bar").table.td(:index => 1).image.click_no_wait

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-04
    • 1970-01-01
    • 2021-06-21
    相关资源
    最近更新 更多