由于“访问被拒绝”,ChromeDriver初始化步骤失败,并出现错误

时间:2019-11-04 12:59:59

标签: c# selenium selenium-webdriver webdriver selenium-chromedriver

Azure DevOps正在VM上触发并运行测试。

我所有的测试在本地计算机上都可以正常工作。

在VM上,尝试使用ChromeDriver和WebDriverManager启动Chrome浏览器时,在LaunchChromeDriver方法上测试失败,并在新的ChromeDriver(选项)上执行“访问被拒绝” 失败;

方法是这样的:

public static IWebDriver LaunchChromeDriver()
{    
 try
 {
    new WebDriverManager.DriverManager().SetUpDriver(new ChromeConfig());
    ChromeOptions options = new ChromeOptions();
    driver = new ChromeDriver(options);
    return driver;
 }
 catch(Exception e)
 {
    log.info("Exception is "+e);
    return null;
 }
}

我缺少什么吗?还是需要修改代码?有人经历过吗?

获取如下异常:

  

System.ComponentModel.Win32Exception(0x80004005):访问被拒绝      在System.Diagnostics.Process.StartWithCreateProcess(ProcessStartInfo startInfo)      在OpenQA.Selenium.DriverService.Start()      在OpenQA.Selenium.Remote.DriverServiceCommandExecutor.Execute(Command commandToExecute)      在OpenQA.Selenium.Remote.RemoteWebDriver.Execute(String driverCommandToExecute,Dictionary`2 parameters)      在OpenQA.Selenium.Remote.RemoteWebDriver.StartSession(ICapabilities wantedCapabilities)      在OpenQA.Selenium.Remote.RemoteWebDriver..ctor(ICommandExecutor commandExecutor,ICapabilities requiredCapabilities)      在OpenQA.Selenium.Chrome.ChromeDriver..ctor(ChromeDriverService服务,ChromeOptions选项,TimeSpan commandTimeout)

1 个答案:

答案 0 :(得分:0)

您应指定chromedriver.exe可执行文件路径:

driver = webdriver.Chrome(executable_path=r"C:\Chrome\chromedriver.exe")

对于Windows,在chromedriver.exe上为所有人允许读取和执行权限:

  1. 右键单击chromedriver.exe> ChromeDriver上的属性
  2. 在“ ChromeDriver属性窗口”>“安全性”选项卡上,单击“编辑”
  3. 在“ ChromeDriver窗口的权限”>“安全”选项卡上,单击“添加”
  4. 在“选择用户”窗口上,将名称设置为“所有人”,然后单击“确定”按钮
  5. 在“ ChromeDriver窗口的权限”>“安全”选项卡上,确保选中“读取并执行”框,然后单击“确定”按钮
  6. 在“ ChromeDriver属性”窗口中,单击“确定”按钮

enter image description here

对于Linux:

  1. 检查您是否安装了最新版本的chrome浏览器->“ chromium-browser -version”
  2. 如果没有,请安装最新版本的chrome浏览器“ sudo apt-get install chrome浏览器”
  3. http://chromedriver.storage.googleapis.com/index.html获取适当版本的chrome驱动程序
  4. 解压缩chromedriver.zip
  5. 将文件移动到/ usr / bin目录sudo mv chromedriver / usr / bin
  6. 转到/ usr / bin目录,您需要运行“ chmod a + x chromedriver”之类的文件以将其标记为可执行文件。
  7. 最后您可以执行代码。