Селен на NET Ядро работает по другому на Linux - PullRequest
1 голос
/ 09 февраля 2020

Я разработал небольшой скребок, используя net ядро ​​и селен, но я заметил, что моя программа работает правильно на windows и не работает на centos. Кажется, что объект драйвера на centos имеет структуру, совершенно отличную от windows.

Это мой тестовый код:

    class Program
    {
        static async Task Main(string[] args)
        {
            IWebDriver driver = SetupTest2();
            driver.Navigate().GoToUrl("https://google.com");
            await Task.Delay(5000);
            Console.WriteLine(driver.PageSource);
        }

        public static IWebDriver SetupTest2()
        {
            String driverPath = @"/root";
            String driverExecutableFileName = "chromedriver";
            ChromeOptions options = new ChromeOptions();
            options.AddArgument("--headless");
            options.AddArgument("--no-sandbox");
            ChromeDriverService service = ChromeDriverService.CreateDefaultService(driverPath, driverExecutableFileName);
            IWebDriver driver = new ChromeDriver(service, options, TimeSpan.FromSeconds(30));
            return driver;
        }        
    }

На windows он работает правильно. Console.WriteLine печатает источник страницы. Вместо этого на centos он печатает, что

System.Collections.Generic.Dictionary`2[System.String,System.Object]

Могу ли я что-нибудь сделать, чтобы решить эту проблему? Или я должен переключиться на что-то другое, как python?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...