2017-06-15 22 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))); 
    } 
} 
関連する問題