在seleniumC#中,从html表单中选择下拉值



我在selenium C#中面临从html表单中选择下拉值的问题

我试了很多次,但每次我都会出错;无法找到元素";

HTML表单

<div class="ui-store-assign-role ng-scope">
<div class="ui-assign-label">
<h3>Assign Role</h3>
<span ng-model="vm.viewModel.restrictToBol" ng-click="vm.restrictSellerPermissions(!vm.viewModel.restrictToBol,1)" class="ng-pristine ng-untouched ng-valid"><!-- ngIf: vm.viewModel.restrictToBol --><span ng-if="vm.viewModel.restrictToBol" class="ng-scope">Release from</span><!-- end ngIf: vm.viewModel.restrictToBol --><!-- ngIf: !vm.viewModel.restrictToBol --> BOL</span>
</div>
<div class="ui-assign-role-tags">
<!-- ngRepeat: customerRole in vm.viewModel.userRoles --><div ng-repeat="customerRole in vm.viewModel.userRoles" class="ng-scope">
<span class="ng-binding">Wholesalers <em class="fa fa-close" data-toggle="modal" data-target="#deleteCustomerRole" data-ng-click="vm.ShowDeleteConfirmationForCustomerRole(customerRole.Id,customerRole.RoleType)"></em></span>
</div><!-- end ngRepeat: customerRole in vm.viewModel.userRoles -->
</div>
<select class="form-control ng-pristine ng-valid ng-touched" name="userRoles" ng-model="vm.viewModel.selectedRoleType" ng-options="role for role in vm.viewModel.roleTypes" ng-change="vm.addCustomerRole()"><option value="" class="" selected="selected">--- Select customer role ---</option><option label="Affiliate" value="string:Affiliate">Affiliate</option><option label="Designer" value="string:Designer">Designer</option><option label="ContestAdmin" value="string:ContestAdmin">ContestAdmin</option><option label="DesignAdmin" value="string:DesignAdmin">DesignAdmin</option><option label="Seller" value="string:Seller">Seller</option><option label="TemplateSeller" value="string:TemplateSeller">TemplateSeller</option></select>
</div>

尝试的元素:

dropdown_CustomerRole = //*[@name='userRoles']
Driver.SetDropdownValue(dropdown_CustomerRole, "Seller");

首先需要导入OpenQA。硒。支持UI之后,这里是如何处理选择/下拉

// select the drop down list
// by xpath
IWebElement education = driver.FindElement(By.XPath("//*[@name='userRoles']"));
// by css
IWebElement education = driver.FindElement(By.CssSelector("select[name='userRoles']"));
//create select element object 
SelectElement selectElement = new SelectElement(education);
//select by value
selectElement.SelectByValue("Seller"); 
// select by text
selectElement.SelectByText("Seller");

最新更新