![](/img/trans.png)
[英]Open browser window in full screen using Selenium WebDriver with C#
[英]C# - selenium webdriver unable to open chrome browser window
以下是在Windows 10 Visual Studio Code上以C#打开chrome浏览器的硒脚本。 我正在使用Chrome 74(64位)和相应的ChromeDriver 74.0.3729.6。 需要注意的一件事是,默认目录中未安装Chrome。 这是由于我们的Office安全目的。 它已安装在其他位置。 当我运行脚本时,它给我错误-无法创建Chrome进程。 有人可以帮我了解为什么Chrome浏览器无法打开吗?
using System;
using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;
using NUnit.Framework;
using SeleniumExtras.PageObjects;
namespace NAS
{
[TestFixture]
class Program
{
public static IWebDriver driver;
public Program(){}
[OneTimeSetUp]
public void startBrowser()
{
ChromeOptions opt = new ChromeOptions();
opt.BinaryLocation = @"C:\\ProgramData\\Microsoft\\AppV\\Client\\Integration\\520B8677-106E-430B-8927-6F9261C56329\\Root\\VFS\\ProgramFilesX86\\Google\\Chrome\\Application\\";
driver = new ChromeDriver(@"C:\\Progra~1\\Selenium",opt);
driver.Navigate().GoToUrl("http://www.google.com");
driver.Manage().Window.Maximize();
}
[Test]
public void testLogin()
{
Console.WriteLine("test running..");
}
[OneTimeTearDown]
public void closeBrowser()
{
driver.Close();
}
}
}
错误:
Running selected tests in c:\NAS\bin\Debug\netcoreapp2.2\NAS.dll
NUnit3TestExecutor converted 1 of 1 NUnit test cases
TearDown failed for test fixture NAS.Program
**OpenQA.Selenium.WebDriverException : unknown error: Failed to create a Chrome process.**
(Driver info: chromedriver=74.0.3729.6 (255758eccf3d244491b8a1317aa76e1ce10d57e9-refs/branch-heads/3729@{#29}),platform=Windows NT 10.0.14393 x86_64)
TearDown : System.NullReferenceException : Object reference not set to an instance of an object.
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 NAS.Program.startBrowser() in c:\NAS\Program.cs:line 30
--TearDown
at NAS.Program.closeBrowser() in c:\NAS\Program.cs:line 46
NUnit Adapter 3.12.0.0: Test execution complete
NAS.Program.testLogin: failed
Total tests: 1. Passed: 0. Failed: 1. Skipped: 0
添加可执行文件名称后-chrome.exe
Running selected tests in c:\NAS\bin\Debug\netcoreapp2.2\NAS.dll
NUnit3TestExecutor converted 1 of 1 NUnit test cases
SetUp failed for test fixture NAS.Program
OpenQA.Selenium.WebDriverException : unknown error: Chrome failed to start: crashed
(unknown error: DevToolsActivePort file doesn't exist)
(The process started from chrome location C:\ProgramData\Microsoft\AppV\Client\Integration\520B8677-106E-430B-8927-6F9261C56329\Root\VFS\ProgramFilesX86\Google\Chrome\Application\chrome.exe is no longer running, so ChromeDriver is assuming that Chrome has crashed.)
(Driver info: chromedriver=74.0.3729.6 (255758eccf3d244491b8a1317aa76e1ce10d57e9-refs/branch-heads/3729@{#29}),platform=Windows NT 10.0.14393 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 NAS.Program.startBrowser() in c:\NAS\Program.cs:line 28
NUnit Adapter 3.12.0.0: Test execution complete
NAS.Program.testLogin: failed
Total tests: 1. Passed: 0. Failed: 1. Skipped: 0
我认为您只是缺少可执行文件名称,例如
var chromeOptions = new ChromeOptions()
{
BinaryLocation = "D:\\Chrome\\chrome.exe"
};
var driver = new ChromeDriver(chromeOptions);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.