Selenium:Firefox驱动程序,在C#中使用SelectElement从下拉列表中选择一项无法正常工作

维斯瓦斯·梅农(Viswas Menon)

我正在尝试做一个简单的任务,尝试使用显示的文本在下拉列表中选择一个值。情况如下。

我的HTML看起来像。

<div id="TestContainer" class="col-md-4">
    <select onchange="Test()">
        <option>Test1</option>
        <option>Test2</option>
        <option>Test3</option>
        <option>Test4</option>
    </select>
</div>

通过使用硒,我想使用下拉菜单中的第二项,即test2。我为之编写的C#代码是相同的。

FirefoxDriverService service = FirefoxDriverService.CreateDefaultService();
service.FirefoxBinaryPath = @"C:\Program Files (x86)\Mozilla Firefox\firefox.exe";
string localURL = "http://localhost:82/";

using (IWebDriver driver = new FirefoxDriver(service))

  {
         driver.Navigate().GoToUrl(localURL);
         var div = driver.FindElement(By.Id("TestContainer"));
         div.Click();
         IWebElement dropDownListBox = div.FindElement(By.TagName("select"));
         SelectElement demoSelect = new SelectElement(dropDownListBox);
         demoSelect.SelectByText("Test2");
         driver.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(2));

   }

除了上述以外,我什至尝试过逐个迭代选项并选择如下所示的适当项目也无济于事。

if (option.Text.Equals("Test2"))
{
    option.Click();
           driver.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(2));
    break;
 }

在以上两种情况下,代码均不会中断,不会引发异常,但是不会选择该值,并且似乎什么也没有发生。

我正在使用的硒的版本如下。

<package id="Selenium.Support" version="2.53.1" targetFramework="net452" />
<package id="Selenium.WebDriver" version="2.53.1" targetFramework="net452" />
<package id="WebDriver.GeckoDriver"version="0.9.0"targetFramework="net452" />

我也正在使用最新版本的Firefox(48.0)

有人遇到过这个问题吗?如果您能指出正确的方向,那将是很好的。

索拉布·高尔(Saurabh Gaur)

如果您尝试了所有SelectElement选择的方法,option但都没有成功,这是尝试使用的另一种解决方案,IJavascriptExecutor如下所示:-

 IWebElement dropDownListBox = driver.FindElement(By.cssSelector("#TestContainer select"));
((IJavaScriptExecutor)driver).ExecuteScript("var select = arguments[0]; for(var i = 0; i < select.options.length; i++){ if(select.options[i].text == arguments[1]){ select.options[i].selected = true; } }", dropDownListBox, "Test2");

完整代码:

using (IWebDriver driver = new FirefoxDriver(service))  
  {
      driver.Navigate().GoToUrl(localURL);
      IWebElement dropDownListBox = driver.FindElement(By.cssSelector("#TestContainer select"));
      ((IJavaScriptExecutor)driver).ExecuteScript("var select = arguments[0]; for(var i = 0; i < select.options.length; i++){ if(select.options[i].text == arguments[1]){ select.options[i].selected = true; } }", dropDownListBox, "Test2");

   }

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Selenium:Firefox驱动程序,在C#中使用SelectElement从下拉列表中选择一项无法正常工作

来自分类Dev

Python Selenium Web驱动程序:从下拉列表中选择值(无此类元素异常)

来自分类Dev

无法在python中使用Selenium从下拉列表中选择一个值

来自分类Dev

如何使用Selenium 2 / Web驱动程序javascript API从选择下拉列表中选择一个选项?

来自分类Dev

从下拉列表中选择一项不会触发VB.net的任何操作

来自分类Dev

在Java中使用Selenium从下拉列表中选择随机WebElement

来自分类Dev

如何从angularjs的下拉列表中选择一项?

来自分类Dev

从相关的下拉框中选择一个选项Selenium Web驱动程序

来自分类Dev

无法单击按钮并使用Selenium WebDriver从下拉列表中选择元素

来自分类Dev

如何使用Selenium从下拉列表中选择一个值?

来自分类Dev

检查是否没有从下拉菜单中选择一项

来自分类Dev

无法从下拉列表中选择值

来自分类Dev

无法从下拉列表中选择值

来自分类Dev

从下拉选择中选择* C#

来自分类Dev

WebDriver C#-使用部分文本从下拉列表中选择一个项目

来自分类Dev

从下拉列表中选择值和选择项

来自分类Dev

无法通过Selenium和C#使用Marionette驱动程序实例化Firefox。操作系统错误

来自分类Dev

C#:使用木偶驱动程序选择下拉菜单项

来自分类Dev

Nvidia驱动程序无法正常工作

来自分类Dev

Nvidia驱动程序无法正常工作

来自分类Dev

Selenium Python:如何从下拉列表中选择项目

来自分类Dev

如何通过 selenium webdriver 和 java 从下拉列表中选择一个项目

来自分类Dev

Selenium Python无法从下拉列表中选择值,但是我可以单击它以打开下拉列表

来自分类Dev

无法使Selenium Firefox驱动程序与Java一起使用

来自分类Dev

无法从下拉菜单Python Selenium中选择一个选项

来自分类Dev

从下拉列表中选择项目不会启动使用Selenium的angularjs函数

来自分类Dev

使用 python 和 selenium 从下拉列表中选择某个值

来自分类Dev

使用 selenium web-driver 从下拉列表中选择值

来自分类Dev

使用 selenium webdriver 从文件中获取值并从下拉列表中选择相同的值

Related 相关文章

  1. 1

    Selenium:Firefox驱动程序,在C#中使用SelectElement从下拉列表中选择一项无法正常工作

  2. 2

    Python Selenium Web驱动程序:从下拉列表中选择值(无此类元素异常)

  3. 3

    无法在python中使用Selenium从下拉列表中选择一个值

  4. 4

    如何使用Selenium 2 / Web驱动程序javascript API从选择下拉列表中选择一个选项?

  5. 5

    从下拉列表中选择一项不会触发VB.net的任何操作

  6. 6

    在Java中使用Selenium从下拉列表中选择随机WebElement

  7. 7

    如何从angularjs的下拉列表中选择一项?

  8. 8

    从相关的下拉框中选择一个选项Selenium Web驱动程序

  9. 9

    无法单击按钮并使用Selenium WebDriver从下拉列表中选择元素

  10. 10

    如何使用Selenium从下拉列表中选择一个值?

  11. 11

    检查是否没有从下拉菜单中选择一项

  12. 12

    无法从下拉列表中选择值

  13. 13

    无法从下拉列表中选择值

  14. 14

    从下拉选择中选择* C#

  15. 15

    WebDriver C#-使用部分文本从下拉列表中选择一个项目

  16. 16

    从下拉列表中选择值和选择项

  17. 17

    无法通过Selenium和C#使用Marionette驱动程序实例化Firefox。操作系统错误

  18. 18

    C#:使用木偶驱动程序选择下拉菜单项

  19. 19

    Nvidia驱动程序无法正常工作

  20. 20

    Nvidia驱动程序无法正常工作

  21. 21

    Selenium Python:如何从下拉列表中选择项目

  22. 22

    如何通过 selenium webdriver 和 java 从下拉列表中选择一个项目

  23. 23

    Selenium Python无法从下拉列表中选择值,但是我可以单击它以打开下拉列表

  24. 24

    无法使Selenium Firefox驱动程序与Java一起使用

  25. 25

    无法从下拉菜单Python Selenium中选择一个选项

  26. 26

    从下拉列表中选择项目不会启动使用Selenium的angularjs函数

  27. 27

    使用 python 和 selenium 从下拉列表中选择某个值

  28. 28

    使用 selenium web-driver 从下拉列表中选择值

  29. 29

    使用 selenium webdriver 从文件中获取值并从下拉列表中选择相同的值

热门标签

归档