我一直试图在文档中的某个地方找到它,但似乎找不到任何相关内容 - 任何人都可以在文件phantomjsdriver.log
中共享如何禁用由Selenium Grid节点创建的日志,(如果不是,只在给定级别写入,例如ERROR或WARN)?
我最近遇到过一个问题,WebDriver可以通过Selenium Grid远程使用PhantomJS运行一段时间,但过了一段时间后似乎有一个错误导致在尝试与之交互时抛出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类似乎暴露了许多功能,但它们似乎无法一起用于创建驱动程序实例,并且两者都暴露了一组不同的属性!
由于