2017-10-26 1 views
0

私はドライバーとしてChromeで私のセレンのプロジェクトに複数のオプションを使用しようとしているが、私はヘッドレス+拡張子を追加しようとしたとき、私はエラーを得たがセレンC#の複数のオプション

System.InvalidOperationException occurred HResult=0x80131509
Message=unknown error: failed to wait for extension background page to load: chrome-extension://jmphljmgnagblkombahigniilhnbadca/_generated_background_page.html from unknown error: page could not be found: chrome-extension://jmphljmgnagblkombahigniilhnbadca/_generated_background_page.html (Driver info: chromedriver=2.33.506120 (e3e53437346286c0bc2d2dc9aa4915ba81d9023f),platform=Windows NT 10.0.15063 x86_64) Source=WebDriver StackTrace: at OpenQA.Selenium.Remote.RemoteWebDriver.UnpackAndThrowOnError(Response errorResponse) at OpenQA.Selenium.Remote.RemoteWebDriver.Execute(String driverCommandToExecute, Dictionary`2 parameters) at OpenQA.Selenium.Remote.RemoteWebDriver.StartSession(ICapabilities desiredCapabilities) at OpenQA.Selenium.Remote.RemoteWebDriver..ctor(ICommandExecutor commandExecutor, ICapabilities desiredCapabilities) at OpenQA.Selenium.Chrome.ChromeDriver..ctor(ChromeOptions options) at SeleniumTest.Form1.<>c__DisplayClass5_0.b__0() in C:\Users\Ussagui\source\repos\SeleniumTest\SeleniumTest\Form1.cs:line 53 at System.Threading.Tasks.Task.InnerInvoke() at System.Threading.Tasks.Task.Execute()

私のコードは次のとおりです。

var option = new ChromeOptions(); 

      option.AddArguments("--headless --disable-gpu"); 
      option.AddExtensions(@"EXTENSION PATH"); 

      var driver = new ChromeDriver(option); 
      var action = new Actions(driver); 

      driver.Navigate().GoToUrl(URL); 

拡張子または引数だけを使用する場合は、それが機能します。 どうすれば両方使うことができますか?または私は傾ける? ありがとうございます。

答えて

0

いくつかのポイント:

  1. 引数ものの--headless--disable-gpuは相互に関連しているが、別のタスクに使用されています。したがって、それらを別々に指定する必要があります。

  2. 最適なコードブロックを使用し、デバッグ/未使用コードをコメント/削除します。おかげでチームメイト

    var option = new ChromeOptions(); 
    option.AddArguments("--headless"); 
    option.AddArguments("--disable-gpu"); 
    option.AddExtensions(@"EXTENSION PATH"); 
    var driver = new ChromeDriver(option); 
    driver.Navigate().GoToUrl(URL); 
    
+0

オウ:driver.Navigate().GoToUrl(URL);削除/私たちがコメントする必要がありそうキャストすることWebDriverインスタンスを必要としないようvar action = new Actions(driver);

  • あなたの最終的なコードブロックは次のようになります!私は家に帰るときに試してみる。 「var action = new Actions(driver);」について私はそれを使用する原因私は "プレス入力"を持っているが、私は投稿することを忘れて、申し訳ありません! 「varオプション」と「ChromeOptionsオプション」の違い(「var」または「ChromeOptions」を使用)ありがとう – Ussagui

  • +0

    まだ同じエラー、別のアイデアは動作しませんか? – Ussagui

    関連する問題