2017-08-31 48 views
-2

我想問一下如何驗證下面的樣本值是否出現在下拉列表中。如何使用硒驗證下拉列表中的值

查看下面的代碼。

public bool AnimePresent() 
     { 
      bool match = false; 
      string[] animal = { "Dog", "Cat", "Bird", "Mouse" }; 
      IWebElement dropdown = this.testObject.WebDriver.FindElement(dropdownItems); 
      SelectElement check = new SelectElement(dropdown); 
      IList<IWebElement> allOptions = check.Options; 

      //foreach(IWebElement option in check.Options) 
      //{ 
       for (int i = 0; i < animal.Length; i++) 
       { 
        if (allOptions.Contains(animal[i])) 
        { 
         match = true; 
        } 
        else { 
         match = false; 
        } 
       } 
      //} 
      return match; 
     } 

我收到一個錯誤;不能從字符串轉換爲OpenQA.Selenium.IWebElement。

我想念任何嗎?

謝謝。

+0

沒錯肯定能... – IamBatman

+0

查找選擇將所有這些元素作爲WebElements的集合,並檢查這些元素的值是您期望的。不能比這個問題中的細節更具體,希望有幫助。 :) – mrfreester

回答

0

我構建了一個java代碼。嘗試將它轉換成C# 試着做類似下面,使用短路也爲更具體的答案: -

String[] a = {"Dog", "Cat", "Bird", "Mouse", "Ant"}; 
     List<WebElement> myElements = driver.findElements(By.id("com.partnerfusion.travelpass:id/hotelName")); 
     for(WebElement e : myElements) { 
       if(e.getText().equalsIgnoreCase(a[i])) { 
        System.out.println("This value is equal="+e.getText()); 
        i++; 
       } 
       else { 
        System.out.println("This value is not equal ="+e.getText()); 
       } 
     } 

希望它會幫助你:)