Драйвер 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")

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

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

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
0
50
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

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

Большое спасибо. Я сделал это в CMD, и все работает! Но снова возникает такая ошибка: ... Microsoft Edge WebDriver успешно запущен. msedgedriver успешно запущен на порту 4648. [18064:18060:0829/134219.490:ОШИБКА:interface_endpoint_client‌​.cc(722)] Сообщение 0 отклонено интерфейсомblink.mojom.WidgetHost [2200:10460:0829/134221.964:ERROR:ss l_client_socket_impl. cc(‌​1048)] не удалось выполнить рукопожатие; возвращено -1, код ошибки SSL 1, net_error -113 [2200:10460:0829/134221.996:ERROR:ssl_client_socket_impl.cc(‌​1048)] не удалось установить соединение; возвращено -1, код ошибки SSL 1, net_error -113

Jason Fan 29.08.2024 07:46

@JasonFan На самом деле эта ошибка не повлияет на автоматизацию, поэтому вы можете просто игнорировать ее. Или вы можете добавить options.AddArgument("log-level=3"), чтобы скрыть их.

Kendrick Li 29.08.2024 08:30

Вы определенно правы! Большое спасибо.

Jason Fan 29.08.2024 08:40

Другие вопросы по теме