2017-04-10 53 views
0

我有一個文本框。當我點擊「添加」按鈕時,我將密鑰發送到文本框,我想添加另一行,所以我再次單擊「添加」按鈕,但它添加了另一個文本框來輸入值,但它總是覆蓋第一行。 //單擊添加線按鈕 // 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

回答

1

假設考慮在該文本框和添加按鈕可用的部門。

假設我需要添加按鈕點擊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,解釋你所期望的不是那麼容易

相關問題