ドキュメントのどこかでこれを見つけようとしましたが、関連するものが見つからないようです.Selenium Gridノードによって作成されたログをファイルphantomjsdriver.log
で無効にする方法を誰かが共有できますか(そうでない場合は、与えられたレベル、例えば ERROR または WARN)?
最近、Selenium Grid を介してリモートで PhantomJS を使用して WebDriver がしばらく正常に動作するという問題に遭遇しましたが、しばらくすると、ドライバー インスタンスと対話しようとすると StackOverflowException がスローされるバグがあるようです。グリッド ノードが実行されている phantomjsdriver.log ファイルのサイズまで追跡したと思います。これは、ログ ファイルのサイズが約 600MB の場合に発生します。明らかに、これにより、しばらくするとノードが使用できなくなります。
現在、PhantomJS リモート WebDriver を次の方法で作成しています。
public static IWebDriver CreatePhantomGridDriver(string hubAddress)
{
if (hubAddress == null)
{
throw new ArgumentException(nameof(hubAddress));
}
PhantomJSOptions opts = new PhantomJSOptions();
opts.AddAdditionalCapability("phantomjs.page.settings.userAgent", "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.65 Safari/537.36");
RemoteWebDriver driver = new RemoteWebDriver(new Uri(hubAddress), opts.ToCapabilities());
driver.Manage().Timeouts().SetPageLoadTimeout(new TimeSpan(0, 1, 0));
driver.Manage().Timeouts().ImplicitlyWait(new TimeSpan(0, 0, 1));
return driver;
}
私はグリッドに selenium-server-standalone-2.52.0 を使用しており、2 つのノードが登録されており、それぞれが 8 つの PhantomJS ドライバーを公開しています。 java -jar selenium-server-standalone-2.52.0.jar -role node -hub http://MySeleniumGridHubServer:4444/grid/register -port 5556 -browser browserName=phantomjs,version=1.9.8.0,platform=ANY,maxInstances=8 -timeout 60 -maxSession 100
コマンドラインからノードを起動するときに phantomjsdriver.log ファイルを無効にできる方法があれば、それが理想的です!
さらに、PhantomJSOptions および PhantomJSDriverService クラスによって公開されている多くの機能があるようですが、それらを一緒に使用してドライバー インスタンスを作成することはできず、両方とも異なるプロパティ セットを公開しているようです!
ありがとう