如何使用WebDriver输入具有具有相同ID,类,XPATH和CSS的列中的数据



我有一个用于输入名称,电子邮件ID和关系的表,但是所有列的ID都具有相同的ID,相同的类,相同名称,XPATH和CSS。因此,如何编写代码以在列中添加数据。我的意思是,"名称"列下的所有行都具有相同的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">

如果您可以与此应用程序的开发人员进行交谈,那么您需要强烈抗议这是应用程序开发的糟糕标准。来查询,您可以使用列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/.....
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;
}

最新更新