こんにちは私はMozillaのタスクを自動化するためにSelenium Web DriverとGeckodriverを使用しています。 C#Geckodriver/Selenium 3.0 - Mozilla 47.0.1自体が停止する
- アカウントのログイン
- クリックして(問題はそれ以降表示されます):GeckodriverはMozillaののインスタンスをlauches は、問題はありません。
- 次のコードはコンパイルされません。
問題:Mozillaが終了し、GeckodriverがMozillaを再起動し、無限ループのような同じ手順(アカウントのログイン、ボタンのクリックなど)を行います。
私はそれを修正したいと思います、どんな助けも大歓迎です。ありがとうございました !
FirefoxProfile fox = new FirefoxProfile();
fox.SetPreference("browser.helperApps.neverAsk.saveToDisk", "application/octet-stream;application/csv;text/csv;application/vnd.ms-excel;");
fox.SetPreference("browser.helperApps.alwaysAsk.force", false);
fox.SetPreference("browser.download.folderList", 2);
fox.SetPreference("browser.download.dir", temp);
using (var driver = new FirefoxDriver(new FirefoxBinary(@"C:\Mozilla Firefox\firefox.exe"), fox))
{
driver.Manage().Window.Maximize();
driver.Navigate().GoToUrl("//");
//Click on buttons without problems
System.Threading.Thread.Sleep(5000);
//Import file
var inputUpload = driver.FindElementById("uploadedPrevisionsFileId-button");
inputUpload.Click();
//I put Thread.Sleep to wait until the element appears
System.Threading.Thread.Sleep(3000);
SendKeys.Send("C:/Test.xls");
SendKeys.Send("{ENTER}");
//HERE, Mozilla stops but I can see the file has been imported
//Code ...
}
//And it restarts a new instance of Mozilla which does the same thing
申し訳ありません申し訳ありませんプログラムを最小限に抑えようとしました。それで、Windowsのダイアログが表示されますが、ファイルを開いてから別のボタン「インポート」をクリックする必要があります。しかし、私のプログラムは、私が単独でコンパイルしているときに動作します(私は、おそらくこのコードを妨害している他の関数を持っています)。それでも、それは奇妙です。最後に私のプロジェクトを2つの部分に分けて動作させています。私の質問について考える時間をとってくれてありがとう – Ketedaro