Получение DriverServiceNotFoundException, даже указав правильный путь - PullRequest
0 голосов
/ 27 июня 2019

У меня есть код VB.net, который использует Selenium и драйвер Chrome для перехода на страницу и загрузки файла.Работает нормально с указанием и без параметров.Но я хочу также отключить командное окно.Исходя из того, что я прочитал, мне нужно запустить ChromeDriver, указав «true» для свойства HideCommandPromptWindow.Когда я это делаю, я получаю эту ошибку:

OpenQA.Selenium.DriverServiceNotFoundException HResult = 0x80131500 Сообщение = Файл False \ chromedriver.exe не существует.Драйвер можно загрузить по адресу http://chromedriver.storage.googleapis.com/index.html Source = WebDriver StackTrace: в OpenQA.Selenium.DriverService..ctor (String servicePath, порт Int32, String driverServiceExecutableName, Uri driverServiceDownloadUrl) в OpenQA.Selenium.Chrome.ChromeDctorSver.(String executetablePath, String executetableFileName, порт Int32) в OpenQA.Selenium.Chrome.ChromeDriver..ctor (Строковый chromeDriverDirectory, параметры ChromeOptions) в OpenQA.Selenium.Chrome.ChromeDriver..ctor (String * chromeDriverDirectory * 100 * 100 * 100 * 100 * * 6 * 100 * * 6 * 100 * * 6 *Я использую путь, который отображается в панели заголовка CommandWindow, я вижу, когда он работает и работает, поэтому я знаю, что путь и файл действительны.

Исходя из того, что сообщение об ошибке «Файл False \ chromedrive.exe не существует ...», кажется, что аргумент, который я передаю для пути, каким-то образом оценивается как «Ложь».

Это фрагмент кода, который выполняется - ошибки в строке 219 или 220:

    Dim cOpt As New ChromeOptions()
    cOpt.AddArguments("--headless", "--no-sandbox", "--disable-gpu")

    Dim param As New Dictionary(Of String, Object)
    param.Add("behavior", "allow")
    param.Add("downloadPath", G.gRadiusExportsFolder)

    Dim cdp As String = FixPathSlash(My.Application.Info.DirectoryPath, False)

    Dim d As New ChromeDriver(cOpt)
    'LINE 219-- Dim d As New ChromeDriver(ChromeDriverService.CreateDefaultService(cdp, "chromedriver.exe").HideCommandPromptWindow = True)
    'LINE220-- Dim d As New ChromeDriver(ChromeDriverService.CreateDefaultService(cdp, "chromedriver.exe").HideCommandPromptWindow = True, cOpt)

    Wait(5)
    d.ExecuteChromeCommand("Page.setDownloadBehavior", param)

1 Ответ

0 голосов
/ 05 июля 2019
    Dim cOpt As New ChromeOptions()
    cOpt.AddArguments("--headless", "--no-sandbox", "--disable-gpu")

    Dim param As New Dictionary(Of String, Object)
    param.Add("behavior", "allow")
    param.Add("downloadPath", G.gRadiusExportsFolder)

    Dim driverService = ChromeDriverService.CreateDefaultService()
    driverService.HideCommandPromptWindow = True
    Dim d As New ChromeDriver(driverService, cOpt)

    Wait(5)
    d.ExecuteChromeCommand("Page.setDownloadBehavior", param)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...