我正在使用Selenium Webdriver
绑定C#
并尝试从旧的 FirefoxDriver(FF 47 之前)切换到新的Marionette driver
(FF47 及更高版本),并且在一些似乎随着Selenium 2.53.1
和FF 47.0.1
.
现在唯一的问题是在选择标签下选择选项标签似乎有问题。以下代码适用于我正在测试的所有其他浏览器(FF < 46、Chrome、IE)。我将以下参数传递到我的dropdownSelect
函数中。选择IWebElement
和要搜索的文本。这是函数定义:
public static void dropdownSelect(IWebDriver driver, IWebElement inObject, string inText)
我已经尝试SelectElement()
像使用所有其他浏览器一样使用该类
select = new SelectElement(inObject);
//select the matching element
select.SelectByText(inText);
我还尝试获取选项的集合并使用两者滚动浏览集合Click()
:
IJavaScriptExecutor js = driver as IJavaScriptExecutor;
ReadOnlyCollection<IWebElement> optDropdown;
optDropdown = inObject.FindElements(By.TagName("option"));
foreach (IWebElement thsItem in optDropdown)
{
//check for matching text
if (thsItem.Text == inText)
{
// 1/4 second wait
Thread.Sleep(250);
thsItem.Click()
//exit foreach loop
break;
}
}
并javascript
点击thsItem.Click()
代码段
//click option element
js.ExecuteScript("arguments[0].click();", thsItem);
没有选择任何内容,也没有抛出任何错误或异常。它只是继续快乐地前进,没有选择任何东西
我做错了什么,还是新的 Marionette 驱动程序仍在解决这个问题?