ruby - Watir:通过 bgcolor 标签搜索表格单元格并获取列号

标签 ruby watir

以下面的 html 为例。这是我为了练习而制作的草稿纸,但它有我正在尝试使用的真实 html 的片段。

http://www.carbide-red.com/prog/test_table.html

我试图找到一列,我能找到的唯一一致的标识符是背景颜色(bgcolor)。

<tr bgcolor="#ffffcc">
    <td bgcolor="yellow" class="date" align=center>Equipment</td>
    <td bgcolor="#ccccff" align=center class="date"><font color=black>8/12/12</font></td>
    <td bgcolor="#ccccff" align=center class="date"><font color=black>8/19/12</font></td>
    <td bgcolor="#ccccff" align=center class="date"><font color=black>8/26/12</font></td>
    <td bgcolor="#ccccff" align=center class="date"><font color=black>9/2/12</font></td>
    <td bgcolor="red" align=center class="date"><font color=yellow>9/9/12</font></td>
    <td bgcolor="#ccffcc" align=center class="date"><font color=black>9/16/12</font></td>
    <td bgcolor="#ccffcc" align=center class="date"><font color=black>9/23/12</font></td>
    <td bgcolor="#ccffcc" align=center class="date"><font color=black>9/30/12</font></td>
    <td bgcolor="#ccffcc" align=center class="date"><font color=black>10/7/12</font></td>
</tr>

我正在尝试查找 <td>其中 bgcolor=red。然后我想保存该单元格的列索引,以便我可以使用它来选择以下行的同一列。

但我似乎找不到搜索 bgcolor= 的方法标签。我还没有找到一种方法让 Watir 报告列/行索引以存储在变量中。但如果我能找到bgcolor=标签,然后我可以搜索“设备”之类的内容,然后计数,直到找到正确的标签。

我知道 html 代码并不理想,因为有任何“名称”或任何唯一标识符的注释,但我无法更改它。

我对 Ruby 和 Watir 很陌生。我尝试用 Perl 操作一个网站,但进展不太顺利,我发现了 Watir,它完全满足了我的需要(而且非常简单),但现在我正在尝试理解 Ruby 以及更精细的语义。

感谢您的帮助!

最佳答案

获取 <td bgcolor="red"> 的文本试试这个:

browser.element(:css => "td[bgcolor=red]").text

你应该回来"9/9/12" 。要单击该元素,请替换 textclick .

将其索引放入变量index中试试这个:

index = nil
browser.tds.each_with_index {|td, i| index = i if td.attribute_value("bgcolor") == "red" or td.attribute_value("bgcolor") == "#ff0000"}

index变量应该是 5 .

关于ruby - Watir:通过 bgcolor 标签搜索表格单元格并获取列号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12344841/

相关文章:

ruby - watir-webDriver 是否支持通过 Lightbox 创建的 modal_dialogs?

Ruby 使用 optgroups 从选择列表中选择随机元素

text - 如何使用 watir 单击具有特定文本的链接元素?

ruby-on-rails - Ruby on Rails session = 无

ruby - Anagrams Code Kata,Ruby 解决方案非常慢

ruby - %q、%w 等在 Ruby 语言中的什么地方定义?

ruby - 关于选择隐藏下拉列表的 Watir 问题

ruby - Watir,我如何获取运行测试脚本后显示的错误并将其放在文件中

ruby-on-rails - 如何在我的 Rails 应用程序中实现数据库支持的自动完成字段?

Ruby Watir 找不到 firefox 二进制文件