当前位置: 首页>>代码示例>>Python>>正文


Python Browser.getLink方法代码示例

本文整理汇总了Python中zope.testbrowser.browser.Browser.getLink方法的典型用法代码示例。如果您正苦于以下问题:Python Browser.getLink方法的具体用法?Python Browser.getLink怎么用?Python Browser.getLink使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在zope.testbrowser.browser.Browser的用法示例。


在下文中一共展示了Browser.getLink方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: _getPadsPage

# 需要导入模块: from zope.testbrowser.browser import Browser [as 别名]
# 或者: from zope.testbrowser.browser.Browser import getLink [as 别名]
    def _getPadsPage(self):
        username, password, url = self.getUserData()

        # login
        browser = Browser()
        browser.open('%s/ep/account/sign-in' % self.trail_url(url))
        browser.getControl(name='email').value = username
        browser.getControl(name='password').value = password
        browser.getForm(id='signin-form').submit()

        # open pads table page
        browser.getLink('Pads').click()

        return safe_unicode(browser.contents)
开发者ID:vnc-biz,项目名称:vnccollab.content,代码行数:16,代码来源:etherpads_list.py

示例2: fetch_data

# 需要导入模块: from zope.testbrowser.browser import Browser [as 别名]
# 或者: from zope.testbrowser.browser.Browser import getLink [as 别名]
    def fetch_data(self):
        url, username, password = self._url, self._username, self._password

        login_url = '/tutos/php/bookinginserter/login.php'
        showteamhours_url = '/tutos/php/bookinginserter/showteamhours.php'
        
        browser = Browser(url)

        browser.getControl(name='username').value = username
        browser.getControl(name='password').value = password
        browser.getForm(action=login_url).submit()

        browser.getLink(url='showteamhours.php').click()
        start_date_value = browser.getControl(name='startdate').options[0]
        browser.getControl(name='startdate').value = [start_date_value]
        end_date_value = browser.getControl(name='enddate').options[-1]
        browser.getControl(name='enddate').value = [end_date_value]
        browser.getForm(action=showteamhours_url).submit()

        self._from_date = start_date_value
        self._to_date  = end_date_value
        self._data = browser.contents
开发者ID:emilioramirez,项目名称:eff,代码行数:24,代码来源:tutos.py

示例3: __init__

# 需要导入模块: from zope.testbrowser.browser import Browser [as 别名]
# 或者: from zope.testbrowser.browser.Browser import getLink [as 别名]

#.........这里部分代码省略.........
        """
        if not os.path.exists(os.path.join(self.path, self.fname)):
            return True
        
        return False
    
    def need_unzip(self):
        """
        @return: True if zip extract needed
        """
        if not os.path.exists(os.path.join(self.api_path, "api.py")):
            return True
        
        return False
        
    def download_zip(self):
        import urllib2
        
        self.browser.open("http://deviceatlas.com/getAPI/python")
        
        assert self.browser.headers["Content-Type"] == "application/zip" # Check that we fetch the correct file
                
        assert len(self.browser.contents) > 0, "Could not download da.zip API distribution"
        
        o = open(os.path.join(self.path, self.fname), "wb")
        o.write(self.browser.contents)
        o.close()
            
    def unzip_file_into_dir(self, file, dir, override_name=None):
        import zipfile
        
        if not os.path.exists(dir):
            os.mkdir(dir)
        
        zfobj = zipfile.ZipFile(file)
        for name in zfobj.namelist():
            if name.endswith('/'):
                os.mkdir(os.path.join(dir, name))
            else:
                
                if override_name:
                    # Set extracted file name
                    fname = override_name
                else:
                    fname = name
                
                outfile = open(os.path.join(dir, fname), 'wb')
                outfile.write(zfobj.read(name))
                outfile.close()
                
    def need_database(self):
        if not os.path.exists(self.raw_json):
            return True
        
        return False
        
        
    def download_database(self):
            
        self.browser.open("http://deviceatlas.com")
        
        self.browser.getLink("My account").click()
                
        # Assume Community ZIP link
        self.browser.getLink(url="/zip", index=0).click()
        
        # Check that we fetch the correct file
        assert self.browser.headers["Content-Type"] == "application/zip", "Assume zip content:" + str(self.browser.headers)
        
        o = open(os.path.join(self.path, self.json_file), "wb")
        o.write(self.browser.contents)
        o.close()
            
                                        
    def proceed(self):
        """ Download & unzip DA Python API files if needed.
        
        @return: Path to Downloaded DeviceAtlas JSON data file
        """
                
        if self.need_download():            
            self.login()            
            self.download_zip()
        
        if self.need_unzip():
            self.unzip_file_into_dir(os.path.join(self.path, self.fname), self.api_path)
            
            # create __init__.py to mark the module
            f = open(os.path.join(self.api_path, "__init__.py"), "wt")
            f.write("# This package is automatically generated by DAAPIInstaller")
            f.close()
            
            
        if self.need_database():
            self.login()            
            self.download_database()
            self.unzip_file_into_dir(os.path.join(self.path, self.json_file), self.path, "data.json")
        

        return self.raw_json
开发者ID:byteorbit,项目名称:mobile.sniffer,代码行数:104,代码来源:installer.py

示例4: Administrator

# 需要导入模块: from zope.testbrowser.browser import Browser [as 别名]
# 或者: from zope.testbrowser.browser.Browser import getLink [as 别名]
class Administrator():
    '''An automated Google Apps administrator.'''


    def __init__(self, domain, username, password):
        '''Create an administrator, then log in with the given credentials.'''
        self.domain = domain
        self.browser = Browser()
        self.login(username, password)


    def login(self, username, password):
        '''Log in with the given username and password.'''

        self.browser.open('https://www.google.com/a/%s/ServiceLogin'
            % self.domain)
        form = self.browser.getForm(id='gaia_loginform')

        # domain is automatically added
        form.getControl(name='Email').value = username
        form.getControl(name='Passwd').value = password
        form.submit()


    def go_to_group(self, group):
        '''Open the groups's page.'''
        self.browser.open('https://www.google.com/a/cpanel/%s/Group?groupId=%s'
            % (self.domain, group))


    def users_in_group(self, group):
        '''Return the set of users in the group.'''

        self.go_to_group(group)

        # Add all users in the current (first page).
        users = emails_in_html(self.browser.contents)
        try:
            # Go to next pages and add all of them.
            while True:
                self.browser.getLink(text='Next').click()
                users.update(emails_in_html(self.browser.contents))
        except LinkNotFoundError:
            pass

        return users


    def add_users_to_group(self, users, group):
        '''Add the users to the group.'''

        unique_users = set(users)
        current_users = self.users_in_group(group)
        new_users = unique_users - current_users

        self.go_to_group(group)
        for chunk in split_users(new_users):
            form = self.browser.getForm(id='addmember')
            form.getControl(name='members').value = ','.join(chunk)
            # Click this button to submit the form
            form.getControl(name='add').click()


    def remove_users_from_group(self, users, group):
        '''Remove the users from the group.'''

        unique_users = set(users)
        self.go_to_group(group)

        tree = html.fromstring(self.browser.contents)
        form = self.browser.getForm(id='list')

        for hidden_input in tree.cssselect('form#list td input[type="hidden"]'):
            print 'checking', hidden_input.value
            if hidden_input.value in unique_users:
                print 'removing', hidden_input.value
                checkbox = form.getControl(name=hidden_input.getnext().name)
                print checkbox.mech_control

        print 'submitting'
        form.getControl(name='remove', index=0).click()
开发者ID:phunehehe,项目名称:gaadmin,代码行数:83,代码来源:admin.py


注:本文中的zope.testbrowser.browser.Browser.getLink方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。