在 Safari 浏览器上,我需要从下拉列表中选择一个选项,但有趣的是它适用于除 Mac OS 上的 Safari 之外的所有浏览器。 我正在使用 Safari 10.0.3 和 selenium webdriver 版本 3.3.0
我用 C# 编写了代码。引用下面的代码 -
IWebDriver driver;
driver = new SafariDriver();
List<string> handles = driver.WindowHandles.ToList<string>();
driver.SwitchTo().Window(handles.First());
driver.Navigate().GoToUrl("https://myip/MyPage.aspx");
SelectElement element = new SelectElement(driver.FindElement(By.Id("securityQuestion")));
int totalOptions = element.Options.Count;
Random rnd = new Random();
int rndValue = rnd.Next(1, totalOptions);
element.SelectByIndex(rndValue); // This is not working for Safari browser
driver.FindElement(By.Id("securityAnswer")).SendKeys("test");
driver.FindElement(By.Id("ctl00_Content_btnNext")).Click();
driver.Close();
只是没有从下拉列表中选择任何值,不会抛出任何错误。
最佳答案
这是一个 safaridriver 错误。修复在 WebKit 中,并在此处进行跟踪: https://bugs.webkit.org/show_bug.cgi?id=174710
作为解决方法,您可以使用 JavaScript 和 DOM API 修改选择的哪些选项。
关于c# - 在 Safari 浏览器上使用 Selenium Webdriver 未选择下拉列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43344938/