【问题标题】:How to select value from the drop down list (Selenium C#)如何从下拉列表中选择值(Selenium C#)
【发布时间】:2015-05-08 11:51:18
【问题描述】:

我需要帮助,如何从下拉列表中选择一个值,我正在使用 SeleniumC# 上编程,但我总是收到以下错误:

元素应该被选中,但被跨度

我的代码是:

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>

【问题讨论】:

  • HTML:

标签: c# html select selenium elements


【解决方案1】:

首先SelectElement只能与带有Select标签的元素一起使用。这是 divSelectElement 类不适用于此处。

尝试查找元素并执行如下点击:

IWebElement element = driver.FindElement(By.Id("select2-drop"));

IJavaScriptExecutor js = (IJavaScriptExecutor)driver;
js.ExecuteScript("arguments[0].click();", element);

【讨论】:

  • 感谢您的建议,但实际上它仍然没有从 DD 中选择值,成功定位元素并且打开了下拉列表但没有选择值。
  • 这是你的意思?
  • 你在说什么价值?
  • 我的意思是当我运行测试时,我能够打开下拉列表,但没有从这个下拉列表中选择任何值
  • divselect2-drop 是您要选择的那个?
【解决方案2】:

问题是下拉菜单实际上并不是下拉菜单。 Select Element 只能与 html 应如下所示的元素一起使用。

一种解决方法是创建一个适合您现在拥有的 html 结构的自定义方法。

var spans = driver.FindElements({selector});

foreach(var span in spans)
{
   if(span.Text == "some")
     span.Click();
}

【讨论】:

    【解决方案3】:

    如果你知道DropDown的文本,你可以使用IWebElement的方法SendKeys(string text)

    internal static void SelectDD()
    {
         IWebElement xxx= driver.FindElement("");
         xxx.SendKeys("Text Of The Dropdown");
    }
    

    【讨论】:

      猜你喜欢
      • 2015-07-03
      • 1970-01-01
      • 2022-10-13
      • 1970-01-01
      • 1970-01-01
      • 2020-08-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多