Как нажать на кнопку с текстом «Закрыть» в модальном диалоговом окне в соответствии с HTML через Selenium и C # - PullRequest
0 голосов
/ 24 августа 2018

Я использую Selenium Webdriver с использованием C #, но селен не определяет мое модальное окно.

Я пробовал:

 IAlert alert = driver.SwitchTo().Alert();
 alert.Accept();

Но это не работает.В коде модал имеет «ID», но он также не работает.

Code

Мне нужно определить модал и нажать на кнопку.

1 Ответ

0 голосов
/ 24 августа 2018

В соответствии с HTML , который вы указали, нажмите на кнопку с текстом Закрыть , вам нужно заставить WebDriverWait для нужного элемента быть кликабельным , и вы можете использовать любое из следующих решений:

  • Использование CssSelector:

    new WebDriverWait(driver, TimeSpan.FromSeconds(10)).Until(ExpectedConditions.ElementToBeClickable(By.CssSelector("button.close[data-dismiss='modal'][aria-label='Close']"))).Click();   
    
  • Использование XPath:

    new WebDriverWait(driver, TimeSpan.FromSeconds(10)).Until(ExpectedConditions.ElementToBeClickable(By.XPath("//button[@class='close' and @data-dismiss='modal'][@aria-label='Close']"))).Click();
    
...