【发布时间】:2010-10-27 20:11:03
【问题描述】:
我正在尝试找到一个 Selenium/PHP XPath 来匹配包含多个元素(文本和表单元素)的表行。
例子:
<table class="foo">
<tr>
<td>Car</td><td>123</td><td><input type="submit" name="s1" value="go"></td>
</tr>
</table>
这适用于单个文本元素:
$this->isElementPresent( "//table/tbody/tr/td[contains(text(), 'Car')]" );
虽然这不是(省略 /td 定位器):
$this->isElementPresent( "//table/tbody/tr[contains(text(), 'Car')]" );
因此,这显然不适用于多个元素:
$this->isElementPresent( "//table/tbody/tr[contains(text(), 'Car')][contains(text(), '123')]" );
另一种方法是使用getTable( "xpath=//table[@class='foo'].x.y") 处理每一行 x 和 y 列。很麻烦,但它起作用了……主要是。它不会返回 <input> 标签!它将为该单元格返回一个空字符串:(
有什么想法吗?
【问题讨论】:
标签: php selenium xpath html-table row