1
我想取消在Firefox弹出下载窗口与硒。我可以切换窗口并关闭警报窗口,但似乎无法选择下载窗口。有任何想法吗?硒的网络驱动程序取消火狐下载
环顾四周,看来Selenium RC无法处理下载窗口,因为它们依赖于操作系统。但是,Selenium Web Driver的这个问题是否一样?我知道这个解决方案可以使用autoit来完成,但如果可能的话,我想保留在Java硒中。谢谢。
我想取消在Firefox弹出下载窗口与硒。我可以切换窗口并关闭警报窗口,但似乎无法选择下载窗口。有任何想法吗?硒的网络驱动程序取消火狐下载
环顾四周,看来Selenium RC无法处理下载窗口,因为它们依赖于操作系统。但是,Selenium Web Driver的这个问题是否一样?我知道这个解决方案可以使用autoit来完成,但如果可能的话,我想保留在Java硒中。谢谢。
WebDriver无法直接与对话框窗口交互,这是因为对话框窗口是操作系统的域而不是网页。然而其可能使用的名称空间System.Windows.Forms的的 SendKeys类方法SendWait()对话框窗口
using System.Windows.Forms;
在低于PLUpload按钮示例代码被压做动作,这将打开一个Windows对话框来选择要上传的文件。
写下面几行来将键值发送到显示的对话窗口。
SendKeys.SendWait(@"C:\Users\Public\Pictures\Sample Pictures\Dock.jpg");
SendKeys.SendWait(@"{Enter}");
在C#SendKeys类的详细参考可在http://msdn.microsoft.com/en-au/library/system.windows.forms.sendkeys.aspx
using System;
using System.Windows.Forms;
using OpenQA.Selenium.Firefox;
using OpenQA.Selenium;
using OpenQA.Selenium.Support;
using OpenQA.Selenium.Interactions;
using NUnit.Framework;
namespace BusinessCreation
{
class PlUpload
{
static void Main(string[] args)
{
IWebDriver driver = new FirefoxDriver();
driver.Navigate().GoToUrl("http://www.plupload.com/example_queuewidget.php");
driver.FindElement(By.XPath("//object[@data='/plupload/js/plupload.flash.swf']")).Click();
SendKeys.SendWait(@"C:\Users\Public\Pictures\Sample Pictures\Dock.jpg");
SendKeys.SendWait(@"{Enter}");
}
}
}
可以找到