如何从C#的下拉列表中选择列表项?

时间:2019-02-13 19:51:33

标签: c# selenium-webdriver

我在页面上有两个无法键入的下拉菜单,当我选择下拉按钮(通过XPath)时,将显示列表,但是我无法选择其中包含的任何选项。下拉列表不是动态生成的,但是以后可能会/将会在其中添加新的选项,尽管目前不是必需的。

到目前为止,我已经尝试通过REL XPath,ABS XPath和CSS Selector选择列表。系统能够单击下拉按钮,但不能选择其中的任何选项

TypeError: __init__() got an unexpected keyword argument 'SOME_DEFAULT_ENV_VAR'

我希望能够单击下拉按钮,然后从列表中进行选择,但是就目前而言,如果我能选择它,则可以选择列表中的第一个选项。请让我知道是否需要其他信息。

下拉框的HTML(可以单击但不能键入):

//Select Sales Manager from Drop-down
driver.FindElement(By.XPath("//a[@id='ctl00_ContentPlaceHolder_rcbSalesManager_Arrow']")).Click();
driver.FindElement(By.XPath("//a[contains(text(),'NAME ONE')]")).Click();

//Select Account Manager from Drop-down
 driver.FindElement(By.XPath("//a[@id='ctl00_ContentPlaceHolder_rcbAccountManager_Arrow']")).Click();
driver.FindElement(By.XPath("//a[contains(text(),'NAME ONE')]")).Click(); 

下拉菜单中的选项一“悬停”仅在鼠标悬停在所选选项上时显示在HTML上,否则代码显示为选项2/3/4等:

<input name="ctl00$ContentPlaceHolder$rcbSalesManager" type="text" class="rcbInput radPreventDecorate" id="ctl00_ContentPlaceHolder_rcbSalesManager_Input" value=" (Please Select One) " readonly="readonly" autocomplete="off" xpath="1">

下拉菜单中的选项二:

<li class="rcbHovered" xpath="1">Name One</li>

选项3/4/5:

<li class="rcbItem" xpath="1">chris</li>

我发现了一个类似的问题,该问题的代码已实现,但是错误现在显示为:“ OpenQA.Selenium.Support.UI.UnexpectedTagNameException:应选择元素,但应为-”-这是空白。

新代码为:

<li class="rcbItem" xpath="1">Darren</li>
<li class="rcbItem" xpath="1">levin</li>
<li class="rcbItem" xpath="1">olga</li>

0 个答案:

没有答案