假设我有一个包含许多行的表,这些行是未知的。 EXP column1 column2 column3 xxx yyy“搜索个人资料”
每行的Column3包含一个链接“搜索配置文件”,现在很清楚,此链接的xpath将根据该行进行更改。现在我想搜索第2列中的字符串,如果存在则需要单击它的column3链接。 有人可以告诉我如何搜索并点击它吗?
答案 0 :(得分:3)
给出这样一个页面:
<html><head></head><body>
<table>
<tbody>
<tr>
<td>Number</td>
<td>Name</td>
<td>Link</td>
</tr>
<tr>
<td>1</td>
<td>Tom</td>
<td>Link</td>
</tr>
<tr>
<td>2</td>
<td>Jane</td>
<td>Link</td>
</tr>
<tr>
<td>3</td>
<td>Jill</td>
<td>Link</td>
</tr>
</tbody>
</table>
</body></html>
您可以使用XPATH找到正确的值,以便首先找到用户的名称。然后,相对于该名称,您可以相对于表中找到的名称来定位第三列。
selenium.click("//table/tbody/tr/td[text()='Jane']/parent::tr/td[3]")
在此示例中,它在第二列中找到“Jane”的第一个实例和完全匹配。然后它备份到行和目标(并点击)第三列。
答案 1 :(得分:0)
我建议使用selenium.click并将其提供给您正在寻找的目标。如果您知道要在第2列中搜索的文本,可以将其放在XPath表达式中,然后在第3列中单击他的朋友。
有些事情:
selenium.click("//table[@id='yourTableID']/descendant::tr[td[.='"column2text"']]/td[3]/button);
答案 2 :(得分:0)
int rolesTableRowCount = selenium.getXpathCount("//table[@id='your_table_id']/tbody/tr").intValue();
String var = selenium.getText("element_locator");
var
的内容是否与您的测试字符串匹配。