[英]How To select from combobox with selenium c#?
How to change default value dropdown or combobox list to others value? 如何将默认值下拉列表或组合框列表更改为其他值?
i want to change allshow
to onlyactive
我想将
allshow
更改为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?)
找不到类型或名称空间名称“ SelectElement”(是否缺少using指令或程序集引用?)
Selenium.WebDriver.3.141.0 Selenium.WebDriver.3.141.0
I believe that you're missing assembly reference, SelectElement
class is available at namespace OpenQA.Selenium.Support.UI
. 我相信您缺少程序集引用,名称空间
OpenQA.Selenium.Support.UI
提供了SelectElement
类。
Nuget: 的NuGet:
https://www.nuget.org/packages/Selenium.Support/3.141.0
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. SelectByText
提供要选择的选项的文本。 If your combobox doesn't contains specified text value, then it will throw NoSuchElementException
. 如果您的组合框不包含指定的文本值,则它将抛出
NoSuchElementException
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.