Selenium webdriver 无法选择下拉列表

Selenium webdriver 无法选择下拉列表,selenium-webdriver,watir-webdriver,Selenium Webdriver,Watir Webdriver,我正在运行: 视窗7 watir webdriver 0.6.4 selenium webdriver(2.35.1、2.35.0、2.31.0) 它将完成这项工作。突然它停止了工作。我不确定这是否是因为我最近在selenium webdriver和watir webdriver上进行了升级。或者由于代码更改 browser.a(:id => "emb1").wait_until_present 很好 browser.select_list(:id => "emu1").wait_

我正在运行: 视窗7 watir webdriver 0.6.4 selenium webdriver(2.35.1、2.35.0、2.31.0)

它将完成这项工作。突然它停止了工作。我不确定这是否是因为我最近在selenium webdriver和watir webdriver上进行了升级。或者由于代码更改

browser.a(:id => "emb1").wait_until_present
很好

browser.select_list(:id => "emu1").wait_until_present
等待30秒,告诉我“找不到元素”错误


还有其他人有类似的问题吗?任何帮助都是好的。提前感谢。

如果没有看到显示HTML的CSS,我无法100%确定,但我有一种预感,面向用户的选择列表实际上是一个样式化的
可能被CSS隐藏。如果
被CSS隐藏,webdriver将无法“看到”它

为了像这样公开选择列表,我使用JavaScript更改了
select
display
属性。在访问fancy
选择列表之前,我已将此代码段添加到我的watir webdriver工具箱中:

script=%q{document.getElementById(“emu1”).style.display=“block”);}
browser.execute_脚本(脚本)
这会改变选择列表的显示属性,因此现在可以通过webdriver可用的所有
select\u list
命令访问该列表

您可以通过使用“选择”列表进入页面并打开首选web浏览器的开发人员控制台来尝试此操作。请尝试以下操作,然后查看是否现在显示选择列表:


如果不起作用,请尝试使用
display=“inline”
。如果现在显示一个标准的HTML选择列表,那么您已经找到了罪魁祸首和解决方案

值得一提的是,您的示例在Win7+wwd 0.6.4+selenium webdriver 2.33.0上对我有用。另外,我注意到您的示例中有一个输入错误:
=
而不是
浏览器中的
=>
。请选择列表(:id=“emu1”)。选择(“苹果”)
。感谢所有帮助。它以前工作过,现在工作了,在这期间我做的唯一一件事就是更新SeleniumWebDriver。我回到了旧版本(2.31.0),一切正常。
browser.a(:id => "emb1").wait_until_present
browser.select_list(:id => "emu1").wait_until_present
document.getElementById("emu1").style.display = "block";