2016-08-11 4 views
0

ドロップダウンリストから要素を選択しようとしています。新しい名前をドロップダウンリストに追加しています。ドロップダウンリストに「Foo」を追加しようとしている場合、「Foo 123」によって更新されているとします。 123は乱数です。 Seleniumで使用できるパターンマッチングのようなものはありますか?Selenium C#を使用して最初の単語のみが一致するドロップダウンアイテムを選択する

私はC#で使用していたコードは次のとおりです。

var StyleGroupName = Driver.Instance.FindElement(By.Name("sgroupnbr")); 
StyleGroupName.Click(); 
var selectelement = new SelectElement(StyleGroupName); 
selectelement.SelectByText(GrpName); 

私のTestClassをです:

[TestMethod] 
    public void Delete_Style_Group() 
    { 
    StyleGrp.GrpNme("ADRIJA (413)").DeleteStyleGroup(); 
    } 
    [TestInitialize] 
    public void ClassInit() 
    { 
    StyleGrp.Goto(); 
    StyleGrp.StyltGroupName("Adrija").Configuration("C3 One Tab").Save(); 
    } 

誰かが助けてくださいことはできますか?前もって感謝します。

答えて

0

あなたは部分的にオプションのテキストに一致するとIJavascriptExecutorを使用して試してみて、以下のように選択する必要があります。

var StyleGroupName = Driver.Instance.FindElement(By.Name("sgroupnbr")); 

((IJavaScriptExecutor)driver).ExecuteScript("var select = arguments[0]; for(var i = 0; i < select.options.length; i++){ if(select.options[i].text.indexOf(arguments[1]) != -1){ select.options[i].selected = true; } }", StyleGroupName, GrpName); 
+0

はそんなにありがとう:) –

1

あなたが表現を照合することによってオプションを選択することはできません、テキストが正確である必要があります。これを行うには

別の方法は

var selectelement = new SelectElement(StyleGroupName); 
foreach (var option in selectelement.Options) 
{ 
    if (option.Text.StartsWith("ADRIJA")) 
    { 
     option.Click(); 
     break; 
    } 
} 

リファレンスSelectElement C# implementation

+0

はそんなに@Prasannaありがとうだろう –

関連する問題