【问题标题】:Select box Click event is not working in C# Selenium选择框单击事件在 C# Selenium 中不起作用
【发布时间】:2017-11-29 05:47:54
【问题描述】:

我需要使用 c# Selenium 更改下拉值。在选择框中我有两个值。

我能够获得选项。但我需要将选项设置为该下拉菜单

请参考代码片段:View tried codes

如果我使用方法 1,我会收到以下错误。

无法单击选项元素。执行 javascript 函数返回意外错误,但 IE 的 javascript Enginge 无法返回错误。

如果我使用方法 2 或方法 3 或方法 4。我没有收到任何错误但无法在下拉列表中设置值。

需要您提出宝贵的建议来解决问题。提前致谢

Html Select box

【问题讨论】:

  • 您应该将代码作为文本包含在此问题中,而不是发布图片链接。
  • 您应该包含相关的HTML 以供进一步分析。
  • @DebanjanB 更新了问题区域的选择框 Html。
  • 是否有可能出现一个警告打开阻止 selenium 工作并“锁定”浏览器?

标签: c# selenium selenium-webdriver selenium-chromedriver ui-automation


【解决方案1】:

从 IWebElement 创建一个SelectElement,您应该可以按值单击选项

var select = new SelectElement(ieWebDriver.FindElement(By.Id("yourID")));
select.SelectByValue("0"); 

编辑

包含 select 元素的 div 具有以下样式属性:

style="display: none;"

Selenium 就像一个用户,如果用户看不到某个元素,Selenium 也看不到它。

有一种方法可以使用 JavaScript 来选择选项,但选项被隐藏是有原因的,不是吗?

无论如何,这里是如何使用 JavaScript 选择它:

((IJavaScriptExecutor)driver).ExecuteScript("document.getElementById('csscib_primary_i').value = 'value-you-want-to-select'");

另外,请不要将您的代码/html 作为图像发布,而应作为文本发布。让我们更容易为您提供帮助。

【讨论】:

  • 它显示了同样的错误:-“无法点击选项元素。执行 javascript 函数返回了一个意外错误,但 IE 的 javascript Enginge 没有返回错误。”
  • 确保IE的缩放级别为100%,打开IE点击设置,将缩放设置为100%。如果这仍然不起作用,请按照@DebanjanB 的建议提供一些 html。 IE 在选择options 时可能会有点棘手。
  • 已在问题区更新。
  • 更新了我的答案
  • 还是没有运气。我无法使用您的 javascript Executer 将值设置为下拉
猜你喜欢
  • 1970-01-01
  • 2012-08-12
  • 1970-01-01
  • 2014-10-14
  • 1970-01-01
  • 1970-01-01
  • 2017-05-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多