我有一个用于输入名称,电子邮件ID和关系的表,但所有列都具有相同的ID,相同的类,同名,xpath和css。那么如何编写代码来在列中添加数据。 我的意思是“Name”列下的所有行都具有相同的id,相同的类,同名,xpath和css。因此,当我对其进行编码时,名称将在第一行输入名称,但不会在第二行中输入。 名称字段的第一列的HTML是
<input type="text" value="" title="Enter name of the user" name="Name" id="Name" class="required wid220"></pre>
“名称”字段的第二列的HTML是
<input type="text" value="" title="Enter name of the user" name="Name" id="Name" class="wid220 validEntry">
名称字段的第三列的HTML是
<input type="text" value="" title="Enter name of the user" name="Name" id="Name" class="wid220 validEntry">
答案 0 :(得分:2)
如果您可以与此应用程序的开发人员交谈,那么您需要强烈抗议这是一个糟糕的应用程序开发标准。来到您的查询,您可以使用列xpath来区分不同的输入...例如: -
//table/tbody/tr[1]/td[1]/input for first column;
//table/tbody/tr[1]/td[2]/input for second and so on.....
tr - 表示行,td - 表示列
如果表具有id或属性,您可以像这样使用它,
//table[@id='value']/tbody/.....
答案 1 :(得分:0)
public static void EnterInTable(int rowNumber, string value)
{
// We don't care about the column as long as you have one text field here
string query = String.Format("//table[*some-id*]//td[{0}]//input", rowNumber);
driver.findElement(:xpath, query).sendKeys = value;
}