4

我正在尝试使用 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 不呈现选择标签的事实。

4

1 回答 1

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");
于 2013-12-27T23:10:24.593 回答