如何在单击添加按钮后停止硒c#覆盖文本框?

问题描述:

我有一个文本框。当我点击“添加”按钮时,我将密钥发送到文本框,我想添加另一行,所以我再次单击“添加”按钮,但它添加了另一个文本框来输入值,但它总是覆盖第一行。 //单击添加线按钮 // ngDriver.FindElement(By.XPath(“// div [1]/div [3]/form/div/fieldset [2]/div/div [4]/button”)) )。单击();如何在单击添加按钮后停止硒c#覆盖文本框?

 // Selecting Item from dropdown 

     // SelectElement se3 = new SelectElement(ngDriver.FindElement(NgBy.Model("line"))); 
     // se3.SelectByValue("string:A"); 
+0

看来你并没有写出正确的xpath。您能否分享html代码并分享截图以正确解释您的需求? –

+0

嗨,谢谢你的帮助。抱歉,我无法分享屏幕截图。每次点击“添加”按钮,都会添加一个新的文本框来添加项目。例如 - 我添加了“项目1”,然后点击“添加”按钮,这将带来一个新的文本框添加“项目2”。但是,“Item1”将替换为“Item 2”。 – Mani

+0

如果您使用浏览器的默认值编写xpath,您的自动化将不断中断。 1通过在该区域中添加div标签的dev进行更改会导致该问题。您应该查看https://www.w3schools.com/xml/xpath_intro.asp – Dazed

假设考虑在该文本框和添加按钮可用的部门。

假设我需要添加按钮点击2次,再试试下面的代码

IWebElement division = driver.FindElement(By.XPath("//div[@id='form-info']")); 

division.FindElement(By.TagName("input")).SendKeys("text to enter"); 
for (int i = 0; i < 2; i++) 
{ 
    division.FindElement(By.TagName("button")).Click(); 
    Thread.Sleep(2000); 
    division = driver.FindElement(By.XPath("//div[@id='form-info']")); 
    Thread.Sleep(2000); 
    division.FindElements(By.TagName("input"))[i+1].SendKeys("text to enter"); 
} 

更改此根据您的Xpath的结构。这只是一个例子。因为看不出Xpath,解释你所期望的不是那么容易