【发布时间】:2011-08-30 08:13:48
【问题描述】:
我的页面上有一个表格,它应该包含某个元素。我可以通过名称来识别表(它有一个唯一的名称),我也可以轻松地识别元素。我想断言该元素存在于表的r 行、c 列上。使用 Selenium 命令最简洁的方法是什么?
备注:
- 我不想使用更多的表名来定位它(我不希望代码中的所有
div\div\table\div\tbody\td\tr[r]\td[c])。 - 我在 PHPUnit 中使用 Selenium。因此,我可以对任务使用 PHP 逻辑,尽管我不希望这样一个简单的任务使用任何复杂的逻辑。
澄清:
如果单元格中的元素只是纯文本,那么我可以像这样检索该文本:
$this->getText("xpath=//table[@name='tableName']//tr[".$r."]//td[".$c."]"); (PHP)
但是如果单元格中的元素不仅仅是纯文本怎么办?如果元素是链接 (link=anchor) 或按钮 (//button[@type='button']) 或图像或更复杂的东西怎么办?
我需要断言由该元素的定位器指定的 元素 驻留在给定的单元格中。
【问题讨论】:
-
您能添加一个 HTML 示例吗?
-
\\tr[r]\td[c]不起作用? -
@powtac:
\\tr[r]\td[c]有效,但\\tr[r]\td[c]只是定位单元格。我需要做的是断言在该单元格内(我可以使用\\tr[r]\td[c]轻松定位)驻留一个指定的元素(我可以使用它的 id 或其他东西来定位它)。请参阅我添加到问题中的说明。
标签: php unit-testing selenium html-table selenium-rc