OpenQA.Selenium.WebDriverException: erro desconhecido: o Chrome falhou ao iniciar: saiu anormalmente durante a execução de testes através do Selenium start no linux
Eu criei um aplicativo que usaSelênio usando .NetCore para usá-lo no Linux, na verdade, esta é a minha implementação de código:
public class Program
{
public static async Task Main(string[] args)
{
//Settings for chrome
var chromeOpts = new ChromeOptions();
chromeOpts.AddArgument("headless");
chromeOpts.AddArgument("no-sandbox");
//Get assembly path where chrome driver is located
string codeBase = Assembly.GetExecutingAssembly().CodeBase;
UriBuilder uri = new UriBuilder(codeBase);
string path = Uri.UnescapeDataString(uri.Path);
path = Path.GetDirectoryName(path);
var driver = new ChromeDriver(path, chromeOpts, TimeSpan.FromSeconds(180));
}
}
como você pode ver, estou usando como driver Chrome, baixeiaqui, Também adicionei o driver dentro da pasta da montagem, assim o ChromeDriver já sabe onde procurá-lo.
No Linux, mudei a permissão da pasta usandochmod -R 777, mas quando executo meu aplicativo Dotnet, recebo o seguinte:
Parece queSelênio não pode iniciar o aplicativo. Observando a exceção, recebo:
Não foi possível encontrar o binário do Chrome
Infelizmente não encontrei nada parecido na web, alguém poderia me ajudar?
Desde já, obrigado.
ATUALIZAR
Acabei de reinstalarChrome
na minha máquina linux e agora o erro acima desapareceu, mas há outro problema agora, de fato recebo este erro:
OpenQA.Selenium.WebDriverException: unknown error: Chrome failed to start: exited abnormally (Driver info: chromedriver=2.9.248304,platform=Linux 4.4.0-130-generic x86_64)
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(ChromeDriverService service, ChromeOptions options, TimeSpan commandTimeout)
at OpenQA.Selenium.Chrome.ChromeDriver..ctor(String chromeDriverDirectory, ChromeOptions options, TimeSpan commandTimeout)\ at ODS.Program.Main(String[] args)