【问题标题】:How to select an option from the Telerik RadComboBox using Selenium WebDriver and c#?如何使用 Selenium WebDriver 和 c# 从 Telerik RadComboBox 中选择一个选项?
【发布时间】:2012-09-25 09:54:36
【问题描述】:

我正在尝试使用 Selenium WebDriver 在 Telerik RadComboBox Asp.Net 控件中选择一个选项,但无法使其始终如一地工作。我正在使用以下代码

var wait = new WebDriverWait(Driver, TimeSpan.FromSeconds(30));
  wait.Until(ExpectedConditions.ElementIsVisible(RadComboBoxArrowBy));

RadComboBoxArrow.Click();
var wait = new WebDriverWait(Driver, TimeSpan.FromSeconds(30));
wait.Until(ExpectedConditions.ElementIsVisible(By.XPath("//input[contains(@id, 'rcbRadComboBox_Input')]")));
RadComboBox.SendKeys(division);
RadComboBox.SendKeys(Keys.Tab);

其中 RadComboBoxArrow 是 Telerik RadComboBox 中输入元素右侧的箭头。

我在多个地方使用此代码,但仅在一个地方不时失败

System.TimeoutException: Timed out after 30 seconds --->
OpenQA.Selenium.NoSuchElementException: Unable to locate element: 
{"method":"xpath","selector":"//input[contains(@id, 'rcbRadComboBox_Input')]"}

在建议使用 SelectElement 之前,请考虑 Telerik RadComboBox 不呈现选择标签这一事实。

【问题讨论】:

    标签: c# selenium telerik selenium-webdriver


    【解决方案1】:

    我用driver.Click()

    首先我点击组合使其打开:

    driver.Click(By.Id("ctl00_WCEContentPlaceHolder_RadToolbar_ReportsMenu_rttb1_ctl00_rcb_Reports");
    

    然后我按 ID 单击元素。这个恰好是列表中的第一个。

    driver.Click(By.Id("ctl00_WCEContentPlaceHolder_RadToolbar_ReportsMenu_rttb1_ctl00_rcb_Reports_c1");
    

    【讨论】:

      猜你喜欢
      • 2011-07-13
      • 1970-01-01
      • 2011-09-25
      • 2012-10-08
      • 1970-01-01
      • 2014-08-24
      • 1970-01-01
      • 2014-02-19
      相关资源
      最近更新 更多