Драйвер Selenium Edge не может перейти на страницу расширения с помощью кодов

Я пытаюсь использовать Selenium 4 для некоторой автоматизации расширения веб-браузера. В настоящее время я использую его только с драйвером Microsoft Edge. Я обнаружил, что не могу открыть какое-либо расширение Edge, Firefox или Chrome. (Используя Vb.net)

Вот мой код:

    Imports OpenQA.Selenium
    Imports OpenQA.Selenium.Edge
    Imports OpenQA.Selenium.Support.UI

    Public Class Form1
        Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
            Dim options As New EdgeOptions()
            options.AddArgument("--user-data-
dir=C:\Users\jasonfan\AppData\Local\Microsoft\Edge\User Data")
            options.AddArgument("--no-sandbox")
            options.AddArgument("--remote-debugging-pipe")`
            options.AddArgument("--allow-running-insecure-content")
            options.AddArgument("--ignore-certificate-errors")

            Dim driver As IWebDriver = New EdgeDriver(options)

            driver.Navigate().GoToUrl("chrome-extension://odphnbhiddhdpoccbialllejaajemdio/options.html")

        End Sub
    End Class

Фактически, когда это было выполнено, это ("chrome-extension://odphnbhiddhdpoccbialllejaajemdio/options.html") не будет открыто. Но я могу без проблем перейти на эту страницу вручную. Это означает, что путь расширения правильный. Но это не работает при использовании кода для автоматического открытия. Есть ли у кого-нибудь идеи?

Кстати, сейчас я использую платформу Windows 11. Обе мои версии Microsoft Edge и WebDriver — 128.0.2739.42.

Первоначально, когда я пытаюсь перейти на веб-страницу с помощью WebDriver, я получаю ошибку ERR_BLOCKED_BY_CLIENT и DevTools, прослушивающие сообщение об ошибке ws://127.0.0.1:13787/devtools/browser/4f6b659e-9f69-4303-a63e-8cc8b91e44f6.

Я пробовал игнорировать ошибки сертификатов, используя аргумент --ignore-certificate-errors , но, похоже, это не сработало. Я также попробовал отключить DevTools и настроить уровень журнала, но проблема не устранена.

Пока я не добавлю следующую строку кода, сообщение об ошибке исчезнет: options.AddArgument("--remote-debugging-pipe")

Но моя цель — включить некоторые функции расширения. Итак, я попробовал и попробовал еще раз. Это никогда не работало.

Надеюсь, кто-нибудь сможет помочь.


50
1

Ответ:

Решено

Код действительно работает. Просто убедитесь, что вы завершили все задачи msedge.exe, прежде чем запускать этот проект. Вы можете использовать диспетчер задач или taskkill /f /im msedge.exe в CMD, чтобы завершить оставшиеся задачи.