我正在尝试从下拉列表中选择一个元素。我正在为下拉列表添加一个新名称,它会被其他名称更新。假设我试图将“Foo”添加到drodown列表中,它将被“Foo 123”更新。 123是随机数。是否有类似模式匹配的东西可以在Selenium中使用。
我在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 :(得分:1)
您不能通过匹配表达式来选择选项,文本需要准确。
执行此操作的替代方法是
var selectelement = new SelectElement(StyleGroupName);
foreach (var option in selectelement.Options)
{
if (option.Text.StartsWith("ADRIJA"))
{
option.Click();
break;
}
}
答案 1 :(得分: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);