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嘗試過,但接下來的代碼行不會執行 –