2017-06-15 53 views
0

我創建了一個IWebElements列表來訪問每個來自同一類型的元素,但是當我想要訪問某個元素時,測試的工作很慢。我想出了創建元素字典並通過名稱訪問每個元素(存儲在此元素中的文本)的想法。我在這裏發現了一些話題,但無法讓他們爲我工作。這是我訪問元素的方式。WebDriver元素的字典

public IWebElement OneElement 
{ 
    get 
    { 
     return this.Driver.FindElement(By.Id("oneElement")); 
    } 
} 
public List<IWebElement> ListOfNames 
{ 
    get 
    { 
     return this.Driver.FindElements(By.Id("name")).ToList(); 
    } 
} 

回答

1

你可以試試下面的代碼來獲取元素通過它的文本,它是比較快的元素列表作爲列表需要搜索,直到找到的元素。如果搜索元素位於列表中的最後一個位置,則需要時間。下面的代碼將直接獲取特定元素。試試吧,讓我們知道。

public IWebElement GetElementByText(String text) 
{ 
    get 
    { 
     return this.Driver.FindElement(By.xpath(String.Format("//*[@id='name'][text()='{0}']",text))); 
    } 
}