簡體   English   中英

從字符串數組創建WebElement數組

[英]Create a WebElement array from a string array

我想通過使用Selenium中的Findby從String數組創建WebElement列表。

我的String數組具有以下值:

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

我通過執行以下操作循環此String數組以創建WebElement列表:

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

我做不到。 請幫助我如何完成此任務。

您確定不會引發編譯器錯誤。

你可以用這樣的東西

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

我不確定100%是否也適用於Java,但對於C#,您不能這樣做,因為FindsBy[]屬性期望Using值恆定。 意味着以下代碼可以正常工作:

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

但是這一錯誤出了:

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

但是,您可以使用getters實現此目的:

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);
} 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM