1

How to change default value dropdown or combobox list to others value?

i want to change allshow to onlyactive

<html>
<body>

<form method="post" action=""> <br>
First Name:<input type="text" size="12" maxlength="12" name="Fname"> <br>
Last Name:<input type="text" size="12" maxlength="36" name="Lname"> <br>
Gender:<br>
Male:<input type="radio" value="Male" name="gender"><br>
Female:<input type="radio" value="Female" name="gender"><br>
Favorite Food:<br>
Steak:<input type="checkbox" value="Steak" name="food[]"><br>
Pizza:<input type="checkbox" value="Pizza" name="food[]"><br>
Chicken:<input type="checkbox" value="Chicken" name="food[]"><br>

<div class="uk-width-1-6@m uk-grid-margin">
        <div class="uk-margin" data-select2-id="11">
            <label class="uk-form-label">Status :</label>
            <select class="uk-select js-select2 select2-hidden-accessible" name="search[active]" data-select2-id="7" tabindex="-1" aria-hidden="true">
                    <option value="" data-select2-id="9">AllShow</option>
                        <option value="1" data-select2-id="17">onlyactive</option>
                                    <option value="2" data-select2-id="18">onlyinactive</option>
            </select>
            <span class="select2 select2-container select2-container--default select2-container--below select2-container--focus" dir="rtl" data-select2-id="8" style="width: 217.325px;"><span class="selection"><span class="select2-selection select2-selection--single" role="combobox" aria-haspopup="true" aria-expanded="false" tabindex="0" aria-labelledby="select2-searchactive-21-container"><span class="select2-selection__rendered" id="select2-searchactive-21-container" role="textbox" aria-readonly="true" title="AllShow">AllShow</span><span class="select2-selection__arrow" role="presentation"><b role="presentation"></b></span></span></span><span class="dropdown-wrapper" aria-hidden="true"></span></span>
        </div>
</div>

</form>

</body>
</html>
IWebDriver driver = new FirefoxDriver(service);
IWebElement comboBox = driver.FindElement(By.Name("search[active]"));
comboBox.Click();

use this code:

    // select the drop down list
    var education = driver.FindElement(By.Name("education"));
    //create select element object 
    var selectElement = new SelectElement(education);

but error

The type or namespace name 'SelectElement' could not be found (are you missing a using directive or an assembly reference?)

Selenium.WebDriver.3.141.0

cyrus2500
  • 428
  • 4
  • 15
  • Possible duplicate of [How to select an option from drop down using Selenium WebDriver C#?](https://stackoverflow.com/questions/5278281/how-to-select-an-option-from-drop-down-using-selenium-webdriver-c) – Guy Nov 04 '18 at 08:49
  • var selectElement = new SelectElement dosnt in version , help me – cyrus2500 Nov 04 '18 at 08:51
  • What do you mean *dosnt in version*? – Guy Nov 04 '18 at 08:55
  • Specify the variable in the selectelement initialization, try `var selectElement = new SelectElement(comboBox);` – Shlomi Bazel Nov 04 '18 at 08:56
  • The type or namespace name 'SelectElement' could not be found (are you missing a using directive or an assembly reference?) – cyrus2500 Nov 04 '18 at 09:03

1 Answers1

4

I believe that you're missing assembly reference, SelectElement class is available at namespace OpenQA.Selenium.Support.UI.

Nuget:

https://www.nuget.org/packages/Selenium.Support/3.141.0

Then it should works.

using OpenQA.Selenium.Support.UI;

var comboBox = driver.FindElement(By.Name("search[active]"));
new SelectElement(comboBox).SelectByText("onlyactive");

EDIT:

SelectByText providing the text of the option to be selected. If your combobox doesn't contains specified text value, then it will throw NoSuchElementException.

Luthfi
  • 478
  • 1
  • 3
  • 16