C# 如何从下拉列表中选择值(Selenium C)
我需要帮助,如何从下拉列表中选择一个值,我正在使用Selenium在C上编程,我总是遇到以下错误: 元素应已被选中,但未被选中 我的代码是:C# 如何从下拉列表中选择值(Selenium C),c#,html,select,selenium,elements,C#,Html,Select,Selenium,Elements,我需要帮助,如何从下拉列表中选择一个值,我正在使用Selenium在C上编程,我总是遇到以下错误: 元素应已被选中,但未被选中 我的代码是: internal static void SelectDD() { SelectElement xxx= new SelectElement(driver.FindElement(By.XPath("/html/body/div[1]/section/div[1]/div[2]/section/div/section/div[2]/div[2]/d
internal static void SelectDD()
{
SelectElement xxx= new SelectElement(driver.FindElement(By.XPath("/html/body/div[1]/section/div[1]/div[2]/section/div/section/div[2]/div[2]/div/div[2]/div[1]/div/div[2]/div/div/a/span[1]")));
xxx.SelectByIndex(1);
}
HTML:
<span class="select2-hidden-accessible" role="status" aria-live="polite"></span> <span class="select2-hidden-accessible" role="status" aria-live="polite"></span> <span class="select2-hidden-accessible" role="status" aria-live="polite"></span>
<div id="select2-drop-mask" class="select2-drop-mask" style="display: block;"></div>
<div id="select2-drop" class="select2-drop select2-display-none select2-drop-auto-width select2-drop-active select2-drop-above" style="left: 361.583px; top: 472.1px; bottom: auto; display: block; width: 262px;"></div>
</body>
问题是下拉列表实际上不是下拉列表。Select元素只能与html如下所示的元素一起使用 解决方法是创建一个自定义方法,该方法将适合您现在的html结构
var spans = driver.FindElements({selector});
foreach(var span in spans)
{
if(span.Text == "some")
span.Click();
}
首先,SelectElement只能与带有Select标记的元素一起使用。这是一个div,SelectElement类在此不适用
尝试查找元素并按如下方式执行单击:
IWebElement element = driver.FindElement(By.Id("select2-drop"));
IJavaScriptExecutor js = (IJavaScriptExecutor)driver;
js.ExecuteScript("arguments[0].click();", element);
如果知道下拉列表的文本,可以使用IWebElement的SendKeysstring文本方法
internal static void SelectDD()
{
IWebElement xxx= driver.FindElement("");
xxx.SendKeys("Text Of The Dropdown");
}
HTML:您必须编辑您的问题,并将代码放入其中。@NoamIgorVeronin这些是隐藏的吗?Select2以隐藏基础select的方式设置下拉列表的样式。你的方法到底为什么是一个内部静态方法?是的,建议有Hiddenthank,但实际上它仍然没有从DD中选择值,元素成功定位,下拉列表打开,但值没有选择。这就是你的意思?你在说什么值?我是说当我运行测试时,我可以打开下拉列表,但没有从该下拉列表中选择任何值带有select2 drop的div是您要选择的吗?