如何通过Selenium和C#根据HTML在模态对话框中单击文本为“关闭”的按钮

时间:2018-08-24 20:01:21

标签: c# selenium xpath css-selectors webdriver

我正在使用C#使用Selenium Webdriver,但是selenium无法识别我的模态窗口。

我尝试过:

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

但是它不起作用。在代码中,模态具有“ ID”,但也不起作用。

Code

我需要确定模态,然后单击按钮。

1 个答案:

答案 0 :(得分:0)

根据您共享的 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();