【发布时间】:2013-10-11 07:47:24
【问题描述】:
当我尝试使用 Selenium WebDriver 在下拉列表中选择一个值时,我在 FireFox 中遇到了一些奇怪的行为。我正在尝试采取的步骤:
- 点击打开选择元素
- 点击我要选择的项目
- 点击打开下一个选择元素
这在 Chrome 和 IE 中完美运行。但是,在Firefox中,单击SELECT打开(所示的项目显示),我想选择的项目是点击(按照所选项目突出显示),但选择了不同的选择元素并选择“选择项” '关闭',默认值一直显示在选择项中。当我在调试模式下单步执行这段代码时,它的工作方式就像它应该的那样!这表明也许答案可能在于步骤之间的时间,但尝试不同长度的 Sleep() 并没有得到任何结果。
总结一下:
我想要什么:
- 点击打开选择元素
- 点击我要选择的项目
- 点击打开下一个选择元素
什么时候生效:
- Chrome 中的运行场景
- 在 Internet Explorer 中运行场景
- 在 FireFox 中逐步浏览场景
什么时候不工作:
- 在 FireFox 中运行场景
处理这部分场景的代码:
// GetRandomValue() is a simplified representation of the code that just gives me a
// random value from the dropdown to select
var randomDropdownValue = GetRandomValue();
Driver.FindElement(By.Id(dropdownId)).Click();
SelectElement dropdownList = new SelectElement(Driver.FindElement(By.Id(dropdownId)));
dropdownList.SelectByValue(randomDropdownValue);
更新
创建自定义 FireFox 配置文件并禁用本机事件并不能解决问题。
【问题讨论】:
标签: firefox selenium selenium-webdriver