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}");
}
}
}
可以找到