Benötigen Sie Hilfe, um das Erweiterungs -Popup auf der Host -Browser -Seite zu öffnen
Posted: 27 Mar 2025, 15:38
Ich versuche auch, das Popup-Fenster von Chrome Extension in einer Host-Browser-Seite mit dem Dramatiker-Pytest zu öffnen. Meine Erweiterung funktioniert nicht, wenn ich es mit der URL "Chrome-Outsion: // $ {extensionid} /_generated_background_page.html" auf neuer Registerkarte anstelle der Host-Seite öffne. Ich möchte die Popup -Erweiterung wie unten im Bild gezeigt öffnen:
Popup -Windows und Host -Seite < /p>
Ich kann die Erweiterungs -ID abrufen und den persistenten Browserkontext mit dem folgenden Code starten. Das Problem ist jedoch, dass die Erweiterung auf der Registerkarte "Separate Registerkarte" anstelle der Registerkarte "Anwendungsbrowser" geöffnet wird: < /p>
Popup -Windows und Host -Seite < /p>
Ich kann die Erweiterungs -ID abrufen und den persistenten Browserkontext mit dem folgenden Code starten. Das Problem ist jedoch, dass die Erweiterung auf der Registerkarte "Separate Registerkarte" anstelle der Registerkarte "Anwendungsbrowser" geöffnet wird: < /p>
Code: Select all
def extension_id(self):
background = self.context.service_workers[0]
if not background:
background = self.context.wait_for_event("serviceworker")
extension_id = background.url.split("/")[2]
return extension_id
@property
def browser(self) -> Browser:
self._browser = browser_instance.launch_persistent_context("", headless=headless_mode, channel="
chrome", args=[
f"--disable-extensions-except={extension_path}",
f"--load-extension={extension_path}",
"--ignore-certificate-errors"
])
@property
def page(self) -> Page:
if not self._page:
self._page = self.browser.new_page()
return self._page
def extension_popup_login(self, **kwargs):
# Login to App
self.page.goto(AppURL)
extension_id = self.extension_id()
url = f"chrome-extension://{extension_id}/popup/index.html"
popup_page = self.browser.new_page()
popup_page.goto(url)