admin管理员组

文章数量:1397016

I am also trying to open Chrome extension popup window in one host browser page using playwright-pytest. My extension will not work when i open it using URL "chrome-extension://${extensionId}/_generated_background_page.html" in new tab instead of host page. I want to open popup extension as shown below in image: Popup windows and host page

I am able to get extension id and launch persistent browser context using below code. But problem is that extension is getting open in separate tab instead of application browser tab:

    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)

本文标签: pythonNeed help to open extension popup on host browser pageStack Overflow