我正在尝试关闭对话框但没有成功。
假设我有下一组:
https://www.facebook.com/kidsmovie/?fref=ts
(请先登录facebook)。
1)点击“在此页面上写点东西......”
2)点击相机的照片:
(对话框将被打开)。
添加图像后如何关闭此对话框?
我已添加图片:
driver.FindElement(By.XPath("//span[text()='Add photo']/following-
sibling::div/input")).SendKeys(@"D:\myImage.png");
我试过了:
try {
Actions action = new Actions(driver);
action.KeyDown(OpenQA.Selenium.Keys.Alt);
action.SendKeys(OpenQA.Selenium.Keys.F4);
}
catch (Exception ex){}
try {
IAlert a = driver.SwitchTo().Alert();
a.Dismiss(); // or dismiss() if you want to hit 'cancel'
}
catch (Exception ex){}
try {
Actions action = new Actions(driver);
action.KeyDown(OpenQA.Selenium.Keys.Escape);
action.Perform();
}
catch (Exception ex){}
我不知道它是否重要,但可以通过Escape
或alt + F4
关闭对话框。
任何帮助表示赞赏!
答案 0 :(得分:1)
尝试按照代码关闭对话框。
[DllImport("user32.dll")]
public static extern bool SetForegroundWindow(IntPtr hWnd);
[DllImport("user32.dll")]
public static extern IntPtr FindWindow(string lpClassName, string lpWindowName);
private static void CloseDialog()
{
var handle = FindWindow(null, "Give your window caption/title here");
SetForegroundWindow(handle);
//send alt+f4 using sendkeys method
System.Windows.Forms.SendKeys.SendWait("%{F4}");
}
如果有任何问题,请告诉我。 感谢。