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


Python browser.Browser类代码示例

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


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

示例1: perform_submission

def perform_submission(app_url, testing_secret):
    token = None
    errors = []
    browser = Browser()
    browser.mech_browser.set_handle_robots(False)
    try:
        browser.open(app_url)
    except Exception as exc:
        errors.append(WatchdogError(
            subject="Couldn't open submission page",
            message=u"The attempt to access the submission form resulted in an exception (%s)" % exc))
        return token, errors
    try:
        submit_form = browser.getForm(id='briefkasten-form')
    except LookupError:
        errors.append(WatchdogError(subject=u"Couldn't find submission form",
            message=u"""The contact form was not accessible"""))
        return token
    submit_form.getControl(name='message').value = u'This is an automated test submission from the watchdog instance.'
    submit_form.getControl(name='testing_secret').value = testing_secret
    # TODO: submit attachment
    submit_form.submit()
    response = PyQuery(browser.contents)
    token_element = response("#feedback-token")
    token = None
    if token_element is not None:
        token = token_element.text()
    if not bool(token):
        errors.append(WatchdogError(subject="Couldn't get feedback token",
            message=u"The form submission was successful, but no feedback-token was given at %s" % browser.url))
    return token, errors
开发者ID:tomster,项目名称:briefkasten,代码行数:31,代码来源:__init__.py

示例2: __init__

 def __init__(self, url=None, headers=None):
     baseBrowser.__init__(self, url=None)
     if headers is None: headers = []
     self.mech_browser.set_handle_robots(False)
     for h in headers:
         k, val = h
         self.addHeader(k, val)
     if url is not None:
         self.open(url)
开发者ID:numahell,项目名称:libertic.event,代码行数:9,代码来源:utils.py

示例3: setupBrowser

def setupBrowser(auth=None):
    """
    Taken from canonical.launchpad.testing.pages:
    Create a testbrowser object for use in pagetests.

    :param auth: HTTP authentication string. None for the anonymous user, or a
        string of the form 'Basic email:password' for an authenticated user.
    :return: A `Browser` object.
    """
    browser = Browser()
    # Set up our Browser objects with handleErrors set to False, since
    # that gives a tracebacks instead of unhelpful error messages.
    browser.handleErrors = False
    if auth is not None:
        browser.addHeader("Authorization", auth)
    return browser
开发者ID:miing,项目名称:mci_migo,代码行数:16,代码来源:runner.py

示例4: setUp

 def setUp(self):
     super(TestDisplayValue, self).setUp()
     app = TestApp()
     app.set_next_response(b'''\
         <html>
           <body>
             <form>
               <select name="sel1">
                 <option value="op">Turn</option>
                 <option value="alt">Alternative</option>
               </select>
             </form>
           </body>
         </html>''')
     browser = Browser(wsgi_app=app)
     browser.open('https://localhost')
     self.control = browser.getControl(name='sel1')
开发者ID:zopefoundation,项目名称:zope.testbrowser,代码行数:17,代码来源:test_browser.py

示例5: _getPadsPage

    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,代码行数:14,代码来源:etherpads_list.py

示例6: getLink

    def getLink(self, url=None):
        if not url: return

        # /////////////////////////////////////////////////////////////////////////////
        # Scenario 1: do a simple search for all web server logs
        # /////////////////////////////////////////////////////////////////////////////

        # start search
        browser = Browser()


        # Get URL
        #
        # Option A: return all of the matched events
        browser.open(url)

        ctrl = browser.getControl(name='')
        ctrl.value = ''

        ctrl = browser.getControl(name='')
        ctrl.value = ''

        ctrl = browser.getControl(name='submitButtonName')
        ctrl.click()

        print browser.contents
开发者ID:useEvil,项目名称:site-monitor,代码行数:26,代码来源:mechanize.py

示例7: TestMechRepr

class TestMechRepr(unittest.TestCase):
    """Testing ..browser.*.mechRepr()."""

    def setUp(self):
        super(TestMechRepr, self).setUp()
        app = TestApp()
        app.set_next_response(u'''\
            <html>
              <body>
                <form>
                  <input name="inp1" type="text" value="Täkst" />
                  <select name="sel1">
                    <option value="op">Türn</option>
                  </select>
                  <input name="check1" type="checkbox" value="šêlėçtèd" />
                  <input name="mail1" type="email" value="[email protected]" />
                  <input name="sub1" type="submit" value="Yës" />
                </form>
              </body>
            </html>'''.encode('utf-8'))
        self.browser = Browser(wsgi_app=app)
        self.browser.open('https://localhost')

    def test_TextControl_has_str_mechRepr(self):
        mech_repr = self.browser.getControl(name='inp1').mechRepr()
        self.assertIsInstance(mech_repr, str)
        self.assertEqual(mech_repr, '<TextControl(inp1=Täkst)>')

    def test_ItemControl_has_str_mechRepr(self):
        option = self.browser.getControl(name='sel1').getControl(value="op")
        mech_repr = option.mechRepr()
        self.assertIsInstance(mech_repr, str)
        self.assertEqual(
            mech_repr,
            "<Item name='op' id=None contents='Türn' value='op'"
            " label='Türn'>")

    def test_CheckboxListControl_has_str_mechRepr(self):
        from ..browser import CheckboxListControl
        ctrl = self.browser.getControl(name='check1')
        self.assertIsInstance(ctrl, CheckboxListControl)
        mech_repr = ctrl.mechRepr()
        self.assertIsInstance(mech_repr, str)
        self.assertEqual(mech_repr, '<SelectControl(check1=[*, ambiguous])>')

    def test_Control_for_type_email_has_mechRepr(self):
        option = self.browser.getControl(name='mail1')
        mech_repr = option.mechRepr()
        self.assertIsInstance(mech_repr, str)
        self.assertEqual(mech_repr, "<EMailControl([email protected])>")

    def test_SubmitControl_has_str_mechRepr(self):
        mech_repr = self.browser.getControl(name='sub1').mechRepr()
        self.assertIsInstance(mech_repr, str)
        self.assertEqual(mech_repr, '<SubmitControl(sub1=Yës)>')
开发者ID:zopefoundation,项目名称:zope.testbrowser,代码行数:55,代码来源:test_browser.py

示例8: login

 def login(self):
     br = Browser()
     br.mech_browser.set_handle_robots(False)
     br.open(self.starturl)
     br.getControl('Username:').value = self.acc_user
     br.getControl('Password:').value = self.acc_pass
     br.getControl('Login').click()
     return br
开发者ID:starzel,项目名称:tracalarm,代码行数:8,代码来源:check.py

示例9: perform_submission

def perform_submission(app_url, testing_secret):
    token = None
    errors = []
    browser = Browser()
    browser.open(app_url)
    try:
        submit_form = browser.getForm(id='briefkasten-form')
    except LookupError:
        errors.append(WatchdogError(subject=u"Couldn't find submission form",
            message=u""""""))
        return token
    submit_form.getControl(name='message').value = u'This is an automated test submission from the watchdog instance.'
    submit_form.getControl(name='testing_secret').value = testing_secret
    # TODO: submit attachment
    submit_form.submit()
    response = PyQuery(browser.contents)
    token_element = response("#feedback-token")
    if token_element is not None:
        token = token_element.text()
    else:
        errors.append(WatchdogError(subject="Couldn't get feedback token",
            message=u"The form submission was successful, but no feedback-token was given at %s" % browser.url))
    return token, errors
开发者ID:mackrauss,项目名称:briefkasten,代码行数:23,代码来源:watchdog.py

示例10: __init__

    def __init__(self, username, password, path=None):
        """
        
        @param username: DeviceAtlas username
        @param password: DeviceAtlas password        
        @param path: Path to install API and database files or None to use ~/da_distribution. Path is added to PYTHONPATH.    
        """
        

        try:
            from zope.testbrowser.browser import Browser
        except ImportError:
            raise
            raise RuntimeError("zope.testbrowser must be installed to automatize DeviceAtlas downloads")

        self.browser = Browser()
        
        if not path:
            path = os.path.abspath(os.path.join(os.getenv("HOME"), "da_distribution"))
                       
        self.path = path
        
        # Wrap things away from Python namespace
        self.api_path = os.path.join(path, "da_api")
        
        if not os.path.exists(self.path):
            os.makedirs(self.path)
            os.makedirs(self.api_path)
        
        if not path in sys.path:
            # Include autodownload folder in Python import
            sys.path.append(self.path)
        
        self.fname = "da.zip"
        self.json_file = "json.zip"
        self.raw_json = os.path.join(self.path, "data.json") # Unzipped json database  
        
        self.username = username
        self.password = password
        

        self.login_url = "http://deviceatlas.com"
        self.api_url = url="http://deviceatlas.com/getAPI/python"
开发者ID:byteorbit,项目名称:mobile.sniffer,代码行数:43,代码来源:installer.py

示例11: __init__

 def __init__(self, downloads_urls, urls_file, username, password,
              dest_dir=None, generate_thumbs=True, font_path=None,
              stop_at_quota=500):
     self.downloads_urls = downloads_urls
     self.urls_file = urls_file
     self.username = username
     self.password = password
     if dest_dir is None:
         dest_dir = os.getcwd()
     self.dest_dir = dest_dir
     self.generate_thumbs = generate_thumbs
     self.font_path = font_path
     self.stop_at_quota = stop_at_quota
     log.info("Starting Browser")
     self.browser = Browser("http://oron.com")
     self.to_download = 0
     self.downloaded = 0
     self.download_quota = 0
     self.downloads_until_quota_reload = 10
开发者ID:UfSoft,项目名称:oron-downloader,代码行数:19,代码来源:downloader.py

示例12: __init__

    def __init__(self, options):
        self.oron_folder_url = options.url
        self.title_base = options.title_base
        self.links_per_post = options.links_per_post
        self.screenshots_dir = options.screenshots
        self.output_dir = options.output

        # Email Options
        self.smtp_host = options.smtp_host
        self.smtp_port = options.smtp_port
        self.smtp_user = options.smtp_user
        self.smtp_pass = options.smtp_pass
        self.smtp_from = options.smtp_from
        self.smtp_use_tls = options.smtp_use_tls
        self.email_recipient = options.email
        self.email_initial_text = options.email_initial_text
        self.email_ending_text = options.email_ending_text
        self.start_on_post = options.start_on_post

        log.info("Starting Browser")
        self.browser = Browser("http://oron.com")
        self.total_links = 0
        self.links = {}
开发者ID:UfSoft,项目名称:oron-downloader,代码行数:23,代码来源:blogger.py

示例13: ZopeTestBrowser

class ZopeTestBrowser(DriverAPI):

    driver_name = "zope.testbrowser"

    def __init__(self):
        self._browser = Browser()
        self._cookie_manager = CookieManager(self._browser.cookies)
        self._last_urls = []

    def visit(self, url):
        self._browser.open(url)

    def back(self):
        self._last_urls.insert(0, self.url)
        self._browser.goBack()

    def forward(self):
        try:
            self.visit(self._last_urls.pop())
        except IndexError:
            pass

    def reload(self):
        self._browser.reload()

    def quit(self):
        pass

    @property
    def title(self):
        return self._browser.title

    @property
    def html(self):
        return self._browser.contents

    @property
    def url(self):
        return self._browser.url

    def find_option_by_value(self, value):
        html = lxml.html.fromstring(self.html)
        element = html.xpath('//option[@value="%s"]' % value)[0]
        control = self._browser.getControl(element.text)
        return ElementList([ZopeTestBrowserOptionElement(control, self)], find_by="value", query=value)

    def find_option_by_text(self, text):
        html = lxml.html.fromstring(self.html)
        element = html.xpath('//option[normalize-space(text())="%s"]' % text)[0]
        control = self._browser.getControl(element.text)
        return ElementList([ZopeTestBrowserOptionElement(control, self)], find_by="text", query=text)

    def find_by_css(self, selector):
        xpath = CSSSelector(selector).path
        return self.find_by_xpath(xpath, original_find="css", original_selector=selector)

    def find_by_xpath(self, xpath, original_find=None, original_selector=None):
        html = lxml.html.fromstring(self.html)

        elements = []

        for xpath_element in html.xpath(xpath):
            if self._element_is_link(xpath_element):
                return self.find_link_by_text(xpath_element.text)
            elif self._element_is_control(xpath_element):
                return self.find_by_name(xpath_element.name)
            else:
                elements.append(xpath_element)

        find_by = original_find or "xpath"
        query = original_selector or xpath

        return ElementList(
            [ZopeTestBrowserElement(element, self) for element in elements], find_by=find_by, query=query
        )

    def find_by_tag(self, tag):
        return self.find_by_xpath("//%s" % tag, original_find="tag", original_selector=tag)

    def find_by_value(self, value):
        return self.find_by_xpath('//*[@value="%s"]' % value, original_find="value", original_selector=value)

    def find_by_id(self, id_value):
        return self.find_by_xpath('//*[@id="%s"][1]' % id_value, original_find="id", original_selector=id_value)

    def find_by_name(self, name):
        elements = []
        index = 0

        while True:
            try:
                control = self._browser.getControl(name=name, index=index)
                elements.append(control)
                index += 1
            except IndexError:
                break
        return ElementList(
            [ZopeTestBrowserControlElement(element, self) for element in elements], find_by="name", query=name
        )

#.........这里部分代码省略.........
开发者ID:atiw003,项目名称:splinter,代码行数:101,代码来源:zopetestbrowser.py

示例14: __init__

 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)
开发者ID:phunehehe,项目名称:gaadmin,代码行数:5,代码来源:admin.py

示例15: Administrator

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,代码行数:81,代码来源:admin.py


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