Я разработал небольшой скребок, используя 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?