Best Python code snippet using playwright-python
__init__.py
Source:__init__.py  
...144def TechTree_populate(self, *args, **kwargs):145    global TechTree_handler146    TechTree_handler = self147@registerEvent(TechTree, '_dispose')148def TechTree_dispose(self, *args, **kwargs):149    global TechTree_handler150    TechTree_handler = None151@registerEvent(Research, '_populate')152def Research_populate(self, *args, **kwargs):153    global Research_handler154    Research_handler = self155@registerEvent(Research, '_dispose')156def Research_dispose(self, *args, **kwargs):157    global Research_handler158    Research_handler = None159@registerEvent(TechnicalMaintenance, '_populate')160def TechnicalMaintenance_populate(self, *args, **kwargs):161    global TechnicalMaintenance_handler162    TechnicalMaintenance_handler = self163@registerEvent(TechnicalMaintenance, '_dispose')164def TechnicalMaintenance_dispose(self, *args, **kwargs):165    global TechnicalMaintenance_handler166    TechnicalMaintenance_handler = None167@registerEvent(PremiumWindow, '_populate')168def PremiumWindow_populate(self, *args, **kwargs):169    global PremiumWindow_handler170    PremiumWindow_handler = self171@registerEvent(PremiumWindow, '_dispose')172def PremiumWindow_dispose(self, *args, **kwargs):173    global PremiumWindow_handler174    PremiumWindow_handler = None175@registerEvent(Shop, '_populate')176def Shop_populate(self, *args, **kwargs):177    global Shop_handler178    Shop_handler = self179@registerEvent(Shop, '_dispose')180def Shop_dispose(self, *args, **kwargs):181    global Shop_handler182    Shop_handler = None183@registerEvent(RecruitWindow, '_populate')184def RecruitWindow_populate(self, *args, **kwargs):185    global RecruitWindow_handler186    RecruitWindow_handler = self187@registerEvent(RecruitWindow, '_dispose')188def RecruitWindow_dispose(self, *args, **kwargs):189    global RecruitWindow_handler190    RecruitWindow_handler = None191@registerEvent(PersonalCase, '_populate')192def PersonalCase_populate(self, *args, **kwargs):193    global PersonalCase_handlers194    PersonalCase_handlers.append(self)195@registerEvent(PersonalCase, '_dispose')196def PersonalCase_dispose(self, *args, **kwargs):197    global PersonalCase_handlers198    if self in PersonalCase_handlers:199        PersonalCase_handlers.remove(self)200    else:201        err('PersonalCase window is disposed without being populated')202@registerEvent(ExchangeFreeToTankmanXpWindow, '_populate')203def ExchangeFreeToTankmanXpWindow_populate(self, *args, **kwargs):204    global ExchangeFreeToTankmanXpWindow_handlers205    ExchangeFreeToTankmanXpWindow_handlers.append(self)206@registerEvent(ExchangeFreeToTankmanXpWindow, '_dispose')207def ExchangeFreeToTankmanXpWindow_dispose(self, *args, **kwargs):208    global ExchangeFreeToTankmanXpWindow_handlers209    if self in ExchangeFreeToTankmanXpWindow_handlers:210        ExchangeFreeToTankmanXpWindow_handlers.remove(self)211    else:212        err('ExchangeFreeToTankmanXpWindow window is disposed without being populated')213@registerEvent(MainView, '_populate')214def MainView_populate(self, *args, **kwargs):215    global MainView_handler216    MainView_handler = self217@registerEvent(MainView, '_dispose')218def MainView_dispose(self, *args, **kwargs):219    global MainView_handler220    MainView_handler = None221# force getUnlockPrice to look at freeXP (which is affected by lock)222# dirty create same names for use in original function223class g_itemsCache_dummy:224    class items:225        class stats_dummy:226            @property227            def actualFreeXP(*args, **kwargs):228                return g_itemsCache.items.stats.freeXP229            @property230            def unlocks(*args, **kwargs):231                return g_itemsCache.items.stats.unlocks232            @property...test_disposing2.py
Source:test_disposing2.py  
...16    if sys.version_info > (3, 8) and sys.platform.startswith('win'):17        asyncio.set_event_loop_policy(asyncio.WindowsSelectorEventLoopPolicy())18    app.manager._clear_old_pending_sessions(1)19class MyPyComponent(PyComponent):20    def _dispose(self):21        print('disposing', self.id)22        super()._dispose()23class MyJsComponent(JsComponent):24    def _dispose(self):25        print('disposing', self.id)26        super()._dispose()27def check_alive(s, id1, id2):28    print(getattr(s.get_component_instance(id1), 'id', None))29    print(getattr(s.get_component_instance(id2), 'id', None))30    s.send_command('EVAL', 'flexx.s1.instances.%s && flexx.s1.instances.%s.id || null' % (id1, id1))31    s.send_command('EVAL', 'flexx.s1.instances.%s && flexx.s1.instances.%s.id || null' % (id2, id2))32## PyComponent33@run_live34async def test_dispose_PyComponent1():35    """36    MyPyComponent_237    MyPyComponent_338    disposing MyPyComponent_239    disposing MyPyComponent_340    None...session.py
Source:session.py  
...18                ('User-Agent', 'Firefox'),19                ('Accept-Language', 'en-US,en;q=0.5')20                ]21    def __del__(self):22        self._dispose()23    def __enter__(self):24        return self25    def __exit__(self, exc_type, exc_value, traceback):26        self._dispose()27    @property28    def connected(self):29        return self._connected30    def log_in(self, username, password):31        try:32            # Log in to non-mobile site is more reliable33            self._browser_wrapper.open(self._browser, 'https://www.facebook.com')34            self._browser.select_form('form[id="login_form"]')35            self._browser['email'] = username36            self._browser['pass'] =  password        37            self._browser_wrapper.submit_selected(self._browser)38            # Check if we really are in account profile page39            if self._browser.get_current_page().find('form',40                action='/search/top/'):41                self._connected = True42        except:43            raise LogInError(f'Unable to log in as {username}')44        return self45    def log_out(self):46        if self._connected:47            self._browser.close()48            self._connected = False49    def profile_info(self, id_):50        """Retrieve informations for a given profile."""51        self._ensure_connected()52        try:53            self._browser_wrapper.open(self._browser, f'{Session.BASE_URL}/{id_}')54            name  = self._sanitize_title(55                self._browser.get_current_page().find('title').text)56            image = parse_image(self._browser.get_current_page(), name)57            info = parse_info(self._browser.get_current_page())58            return name, image, info59        except:60            return None61    def search(self, query):62        """63        Execute search of a given text returning a tuple with ID,64        descriptions and URI.65        """66        url_query = '+'.join(query.split())67        url_path = f'/search/top/?q={url_query}' \68            if self._connected else f'/public/{url_query}'69        try:70            self._browser_wrapper.open(self._browser,71                f'{Session.BASE_URL}{url_path}{url_query}')72            return parse_search(self._browser.get_current_page(),73                Session.BASE_URL)74        except:75            return None76    def _ensure_connected(self):77        if not self._connected:78            raise NotConnectedError('No active connection or required login')79    def _sanitize_title(self, title):80        # Handle cases like 'Some One - Home'81        if '-' in title:82            return title.split('-')[0].strip()83        return title84    def _dispose(self):85        if self._connected:...mail.py
Source:mail.py  
...4041            self._smtp_server = _smtp_server42        return self._smtp_server4344    def _dispose(self):45        if self._smtp_server is not None:46            self._smtp_server.quit()47            self._smtp_server = None4849    def send(self, to_addrs, subject, content, isdispose=True):50        _smtp_server = self._connect()5152        if not isinstance(to_addrs, list):53            to_addrs = [to_addrs]5455        _msg = MIMEText(content, 'html', 'utf-8')56        _msg['Subject'] = subject57        _msg['From'] = self._user58        _msg['To'] = '; '.join(to_addrs)59        _msg['Date'] = datetime.now().strftime('%Y-%d-%m %H:%M:%S')6061        _smtp_server.sendmail(self._user, to_addrs, _msg.as_string())6263        isdispose and (not self._keepalive) and self._dispose()6465    def send_mails(self, mails):66        _smtp_server = self._connect()6768        for mail in mails:69            self._send_mail(mail.get('to'), mail.get('subject'), mail.get('content'), False)7071        (not self._keepalive) and self._dispose()7273    def close(self):74        self._dispose()757677if __name__ == '__main__':7879    logging.basicConfig(level=logging.DEBUG,80                    format='%(asctime)s %(name)s %(levelname)s:%(message)s',81                    datefmt='%Y-%m-%d %H:%M:%S')8283    import time84    s = MailClient('smtp.163.com', 25, 'varshadow@163.com', '123456admin')85    s.set_keepalive(False)86    s.set_debug(True)87    st = time.time()88    for i in xrange(1):
...LambdaTest’s Playwright tutorial will give you a broader idea about the Playwright automation framework, its unique features, and use cases with examples to exceed your understanding of Playwright testing. This tutorial will give A to Z guidance, from installing the Playwright framework to some best practices and advanced concepts.
Get 100 minutes of automation test minutes FREE!!
