Selenium WebDriver元素字典

Selenium WebDriver元素字典,selenium,dictionary,selenium-webdriver,Selenium,Dictionary,Selenium Webdriver,我正在创建一个IWebElements列表,以访问来自同一类型的每个元素,但是当我想要访问某个元素时,测试工作得很慢。我的想法是创建一个元素字典,并通过存储在此元素中的名称文本访问每个元素。我在这里找到了一些主题,但无法使它们适合我。这就是我访问元素的方式 public IWebElement OneElement { get { return this.Driver.FindElement(By.Id("oneElement")); } }

我正在创建一个IWebElements列表,以访问来自同一类型的每个元素,但是当我想要访问某个元素时,测试工作得很慢。我的想法是创建一个元素字典,并通过存储在此元素中的名称文本访问每个元素。我在这里找到了一些主题,但无法使它们适合我。这就是我访问元素的方式

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

您可以尝试下面的代码通过元素的文本获取元素,并且可以快速比较元素列表,因为需要搜索列表直到找到元素。如果搜索的元素位于列表中的最后一个位置,则需要时间。下面的代码将直接获取特定元素。试试看,让我们知道

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