【问题标题】:Selecting from dropdown-selenium从下拉硒中选择
【发布时间】:2014-04-16 12:54:56
【问题描述】:

如何让 Selenium 从下拉列表中的选项值中进行选择?

HTML 如下:

<select name="cboProxyMember" id="idProxyMember" onchange="selectMember(); return false">
 <option value="29">
 Text - Fullers Inns
 <option value="8840">
 Text - Turks Head

我选择了没有问题的元素,使用:

 var selectproxy = Driver.Instance.FindElement(By.Id("idProxyMember"));
 selectproxy.Click();

但是我该如何选择呢?

我已尝试按名称和标记名查找元素,但都不起作用。

【问题讨论】:

    标签: c# selenium drop-down-menu


    【解决方案1】:

    很抱歉发布这么晚,下面的代码示例将解决问题,从下拉列表中选择。

    var selectproxy = Driver.Instance.FindElement(By.Id("idProxyMember"));
    selectproxy.Click();
    var SelectOption = new OpenQA.Selenium.Support.UI.SelectElement(selectproxy);
    selectElement.SelectByText(<Define your option name which you want to 
    select>);
    
    For example: selectElement.SelectByText("Turks Head");
    

    【讨论】:

    • 是的! C# 中的唯一答案!
    【解决方案2】:

    这是 Python 中的一个示例,因为我不熟悉 C# 绑定,抱歉。

    from selenium.webdriver.support.select import Select
    
    selectproxy = Select(driver.find_element_by_id("idProxyMember"))
    selectproxy.select_by_visible_text("Text - Fullers Inns")
    selectproxy.select_by_value("29")
    

    【讨论】:

    • +1,这个想法在 C# 中是一样的——它在 OpenQA.Selenium.Support 命名空间中被称为 SelectElement
    【解决方案3】:
    Select select = new Select(driver.findElement(By.id("idProxyMember")));
    select.deselectAll();
    select.selectByVisibleText("Fullers Inns");
    select.selectByValue("29");
    

    【讨论】:

      【解决方案4】:

      这篇文章描述了如何使用 C# 从下拉列表中选择一个选项。您找到的初始 IWebElement 必须先转换为 Select 元素,然后才能从中选择选项。 Select a value from drop down using Selenium WebDriver C#

      希望这会有所帮助!

      【讨论】:

      • 尽量避免在没有少量代码的情况下链接到教程/网站,因为将来链接可能会移动或删除。
      【解决方案5】:
         Correct you cant select by this because in your HTML,
      

      它显示“onchange="selectMember();”,表示选择任何 下拉完成页面中的项目已更改。 这就是为什么您必须先使用切换到该框架的原因 从下拉列表中选择任何值。

      driver.switchTo().frame(name_or_id);

      现在从下拉列表中选择值

      【讨论】:

        【解决方案6】:

        打开浏览器、加载 URL 和从下拉列表中选择值的示例语句

        static WebDriver driver;
        System.setProperty("webdriver.ie.driver","C:\\(Path)\\IEDriverServer.exe");
        driver = new InternetExplorerDriver();
        driver.manage().window().maximize();
        
        driver.get("EnterURLHere");          
        driver.manage().timeouts().implicitlyWait(30,TimeUnit.SECONDS);
        
        Select value1 = new Select(driver.findElement(By.id("idProxyMember")));    
        value1.selectByVisibleText("29");    //Select Character from dropdown list
        

        【讨论】:

          猜你喜欢
          • 2020-02-08
          • 2021-08-31
          • 1970-01-01
          • 2020-01-11
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多