我是NUNIT的新手,但对如何关闭对话框感到困惑。
我正在尝试的网站是Google Translate。部分代码“点击”在“发送反馈链接”上。
以下是我正在使用的功能:
public void CloseModalWindow(string className)
{
WebController wPage = new WebController(driver);
wPage.waitUntilExistsByXPath(className);
wPage.waitUntilVisibleByXPath(className);
IWebElement clickButtonXPATH = driver.FindElement(By.XPath(className));
clickButtonXPATH.Click();
}
我要模拟的基本逻辑是,单击出现的Google反馈弹出窗口右上角的“ X”。
请注意:
Web驱动程序是FireFox。
我正在发送XPath值(直接使用FireBug从Google Translate派生)
/html/body/div[3]/div/span[2]
。我还尝试使用CSSSelector方法而不是XPATH,将值
span[class='modal-dialog-title']
发送到函数中。Nunit将完全完成而没有任何错误,但是弹出窗口并没有关闭,正如我所期望的那样。
预先感谢您的投入和见解。
最佳答案
从您的XPath中,我看到“ X”不是本地可点击的元素-如<a>
或<button>
一样。我经历过,在这样的元素上调用Click()
不会是我们所期望的。相反,您可以尝试使用action builder功能,该功能将模拟常规的鼠标或键盘输入。更换
clickButtonXPATH.Click();
与
new Actions(driver).Click(clickButtonXPATH).Build().Perform();
关于xpath - 关闭Google翻译中的弹出框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22041895/