2016-07-04 14 views
0

Ich möchte eine WebElement-Liste aus einem String-Array mithilfe von Findby in Selen erstellen.Erstellen eines WebElement-Arrays aus einem String-Array

Mein String Array hat diesen Wert:

String [] s1 = {"Sale Condo", "Rent Condo"}; 

Und ich Looping diesen String-Array eine Liste von WebElement zu schaffen, indem dies zu tun:

List<WebElement> allElem=new ArrayList<WebElement>(); 
for (String s: s1){ 
    @FindBy(linkText=s) 
    allElem.add(); 
} 

Ich bin nicht in der Lage, es zu tun. Bitte helfen Sie mir, wie ich das erreichen kann.

Antwort

1

Sind Sie sicher, dass dies keinen Compilerfehler verursacht.

Sie können so etwas wie dieses

List<WebElement> allElem=new ArrayList<WebElement>(); 
for (String s: s1){ 
    allElem.add(driver.findElement(By.linkText(s))); 
} 
0

verwende ich bin nicht 100% sicher, ob dies auch für Java anwendbar ist, aber für C# Sie können es auf diese Weise nicht tun, weil das FindsBy[] Attribut wird eine konstante erwartet Wert für die Using. den folgenden Code Bedeutung funktioniert:

[FindsBy(How = How.Id, Using = "elementID")] 
private IWebElement Element {get; set;} 

Aber dieser eine Fehler aus:

string idOfTheElement = "elementID"; 
[FindsBy(How = How.Id, Using = idOfTheElement)] 
private IWebElement Element {get; set;} 

aber Sie könnte dies durch die Verwendung Getter erreichen:

string[] array = new string[] {"id1", "id2"}; 
List<IWebElement> allElem = new List<IWebElement>(); 
foreach(var s in array) 
{ 
    var element = driver.FindElement(By.Id(s)); 
    allElem.Add(element); 
} 
Verwandte Themen