我在Windows 10中的OS。我正在尝试运行大约3年前运行良好的Selenium项目,但是我正在运行意外错误消息
The specified executable is not a valid application for this OS platform.
到目前为止,我已经采取的步骤:以管理员身份重新运行VS2015,并得到相同的错误,然后检查chromedriver.exe是否在项目目录中。
徒劳地更新了Selenium.WebDriver.ChromeDriver to 74.0.3729.6
,Selenium.WebDriver to 3.141
和Selenium.Support to 3.141
的Nuget程序包。
尝试从基本控制台应用程序运行
static void Main(string[] args)
{
using (var crawler = new Crawler())
{
crawler.Navigate("https://www.google.com");
}
}
相同的错误。
经过一些研究,我have found this表示,由于.Net内核的某些更改,我需要以不同的方式触发进程。
但是,我无法直接控制.exe
的运行,这是由ChromeDriver OpenQA.Selenium.Chrome.ChromeDriver..ctor(String chromeDriverDirectory, ChromeOptions options)
在内部完成的,只有传递的参数是目录和chrome运行选项...
下面是发生错误的堆栈跟踪,
at System.Diagnostics.Process.StartWithCreateProcess(ProcessStartInfo startInfo)
at System.Diagnostics.Process.Start()
at OpenQA.Selenium.DriverService.Start()
at OpenQA.Selenium.Remote.DriverServiceCommandExecutor.Execute(Command commandToExecute)
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(String chromeDriverDirectory, ChromeOptions options)
at WebAnalyzer.Controllers.HomeController.About()
我敢肯定,现在有人设法通过新更改运行Selenium。
我如何运行Selenium ChromeDriver,以便在StartWithCreateProcess上创建进程时不会中断?