Selenium webdriver 无法选择下拉列表
我正在运行: 视窗7 watir webdriver 0.6.4 selenium webdriver(2.35.1、2.35.0、2.31.0) 它将完成这项工作。突然它停止了工作。我不确定这是否是因为我最近在selenium webdriver和watir 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_
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";