3
在Safari浏览器中,我需要从下拉列表中选择一个选项,但有趣的是,它适用于除Mac OS上的Safari之外的所有浏览器。 我正在使用Safari 10.0.3和selenium webdriver 3.3.0版本在Safari浏览器上未使用Selenium Webdriver选择下拉菜单
我已经用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();
不引发错误只是它不选择从下拉菜单中的任意值。
它是一个时间问题?也许Safari上的Mac很慢。在“SelectElement”行上放置一个断点,然后逐步完成。它工作吗?如果是这样,你需要添加一些等待。 – JeffC
如果在你做的所有事情之后它不起作用,那么使用sendKeys来通过可见文本进行选择怎么样。 –
@GaurangShah尝试过,但接下来的代码行不会执行 –