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


Python Browser.getForm方法代码示例

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


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

示例1: _getPadsPage

# 需要导入模块: from zope.testbrowser.browser import Browser [as 别名]
# 或者: from zope.testbrowser.browser.Browser import getForm [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: perform_submission

# 需要导入模块: from zope.testbrowser.browser import Browser [as 别名]
# 或者: from zope.testbrowser.browser.Browser import getForm [as 别名]
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,代码行数:33,代码来源:__init__.py

示例3: fetch_data

# 需要导入模块: from zope.testbrowser.browser import Browser [as 别名]
# 或者: from zope.testbrowser.browser.Browser import getForm [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

示例4: perform_submission

# 需要导入模块: from zope.testbrowser.browser import Browser [as 别名]
# 或者: from zope.testbrowser.browser.Browser import getForm [as 别名]
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,代码行数:25,代码来源:watchdog.py

示例5: Administrator

# 需要导入模块: from zope.testbrowser.browser import Browser [as 别名]
# 或者: from zope.testbrowser.browser.Browser import getForm [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

示例6: OronDownloader

# 需要导入模块: from zope.testbrowser.browser import Browser [as 别名]
# 或者: from zope.testbrowser.browser.Browser import getForm [as 别名]
class OronDownloader(object):
    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

    def login(self):
        if self.browser and self.browser.contents:
            if self.username in self.browser.contents and \
                                            'Logout' in self.browser.contents:
                log.info("Already logged in!")
                return
        log.info("Logging into Oron.com")
        self.browser.open('http://oron.com/login')
        self.browser.getControl(name='login').value = self.username
        self.browser.getControl(name='password').value = self.password
        self.browser.getForm(name='FL').submit(' Submit ')
        if self.username not in self.browser.contents:
            log.error("Failed to login...")
            print self.browser.contents
            sys.exit(1)
        log.info("Logged in successfully")
        self.load_download_quota()

    def load_download_quota(self):
        log.info("Loading download quota...")
        self.browser.open("http://oron.com/?op=my_account")
        doc = etree.HTML(self.browser.contents)
        quota_string_match = doc.xpath('//form/table/tr[3]/td[2]/text()')
        if quota_string_match:
            self.download_quota = int(quota_string_match[0].split()[0])
            log.info("You have %d Mb of download quota.", self.download_quota)
        else:
            log.error("Failed to retrieve download quota!")
            sys.exit(1)

    def check_quota(self):
        if self.download_quota <= self.stop_at_quota:
            log.info("Download quota is now %d. Stop downloading for now...",
                     self.download_quota)
            sys.exit(0)

        if not self.downloads_until_quota_reload:
            self.downloads_until_quota_reload = 10
            self.load_download_quota()
        else:
            self.downloads_until_quota_reload -= 1

    def download(self):
        self.login()
        self.check_quota()
        if self.urls_file:
            log.info("Opening download URLs file: %s", self.urls_file)
            self.find_download_links_from_file()
        else:
            log.info("Processing %d oron folder urls", len(self.downloads_urls))
            for url in self.downloads_urls:
                log.info("Opening downloads URL: %s", url)
                self.browser.open(url)
                self.find_download_links(self.browser.contents)


    def find_download_links_from_file(self):
        urls = open(self.urls_file, 'r').readlines(True)
        self.to_download = len([u for u in urls if u.strip()])
        log.info("Processing %d oron file urls", self.to_download)

        for url in urls:
            if not url.strip():
                continue
            url = url.strip()
            log.info('-'*78)
            log.info("[%d/%d] Opening URL: %s", self.downloaded+1, self.to_download, url)
            attempts = 0
            while True:
                try:
                    self.browser.open(url.strip())
                    doc = etree.HTML(self.browser.contents)
                    break
                except socket.timeout:
                    if attempts > 2:
                        break
                    log.info("Socket timeout. retrying...")
                    attempts += 1
            if attempts > 2:
#.........这里部分代码省略.........
开发者ID:UfSoft,项目名称:oron-downloader,代码行数:103,代码来源:downloader.py

示例7: Blogger

# 需要导入模块: from zope.testbrowser.browser import Browser [as 别名]
# 或者: from zope.testbrowser.browser.Browser import getForm [as 别名]
class Blogger(object):
    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 = {}

    def login(self):
        if self.browser and self.browser.contents:
            if self.username in self.browser.contents and \
                                            'Logout' in self.browser.contents:
                log.info("Already logged in!")
                return
        log.info("Logging into Oron.com")
        self.browser.open('http://oron.com/login')
        self.browser.getControl(name='login').value = self.username
        self.browser.getControl(name='password').value = self.password
        self.browser.getForm(name='FL').submit(' Submit ')
        if self.username not in self.browser.contents:
            log.error("Failed to login...")
            print self.browser.contents
            sys.exit(1)
        log.info("Logged in successfully")

    def grab_links(self):
        log.info("Loading oron folder url: %s", self.oron_folder_url)
        self.browser.open(self.oron_folder_url)
        doc = etree.HTML(self.browser.contents)
        self.total_links = len(doc.xpath(
            '//table[@class="tbl2"]/tr/td[1]/a[@target="_blank"]/small'
        ))
        self.total_posts = int(round(self.total_links/(self.links_per_post*1.0)))

        log.info("Found %d links to create %s blog posts.",
                 self.total_links, self.total_posts)
        trs = doc.xpath('//table[@class="tbl2"]/tr')
        for tr in trs:
            link_td = tr.xpath('td[1]/a')
            size_td = tr.xpath('td[2]/small/nobr/text()')
            if not link_td or not size_td:
                continue

            filename_search = link_td[0].xpath('small/text()')
            if not filename_search:
                continue
            filename = filename_search[0]

            href = link_td[0].attrib['href']
            size = size_td[0].upper()

            self.links[filename] = {
                'href': href, 'size': size, 'filename': filename
            }


    def create_posts(self):
        self.grab_links()
        filenames = sorted(self.links.keys())
        chunker = Chunker(self.links_per_post)
        n = 1
        if n < self.start_on_post:
            log.info("Skipping posts %d to %d", n, self.start_on_post)
        for chunk in chunker(filenames):
            if n < self.start_on_post:
                n += 1
                continue

            log.info("Processing post %s of %s", n, self.total_posts)
            title = self.title_base + ' - %d of %d' % (n, self.total_posts)
            links = []
            for filename in chunk:
                screenshot_name = filename + '.jpg'
                screenshot_path = os.path.join(self.screenshots_dir, screenshot_name)

                image_html = "<em>Missing Image preview for <b>%s</b></em>" % filename

                if os.path.isfile(screenshot_path):
                    log.info("Uploading screenshot %s", screenshot_name)
                    browser = Browser("http://www.freeporndumpster.com/legacy.php")
                    caption_control = browser.getControl(name='imagename[]', index=0)
                    caption_control.value = self.links[filename]['href']
                    file_control = browser.getControl(name='images[]', index=0)
#.........这里部分代码省略.........
开发者ID:UfSoft,项目名称:oron-downloader,代码行数:103,代码来源:blogger.py

示例8: Browser

# 需要导入模块: from zope.testbrowser.browser import Browser [as 别名]
# 或者: from zope.testbrowser.browser.Browser import getForm [as 别名]
browser = Browser()
browser.raiseHttpErrors = False
#browser.handleErrors =  False

print browser
try:
    browser.open("https://750words.com/auth",)
except ValueError:
    pass
browser.url
browser.headers

email = '[email protected]'
password = 'password'

signIn = browser.getForm(id='signin_form')
emailEnter = signIn.getControl(name='person[email_address]')
passwordEnter =  signIn.getControl(name='person[password]')

emailEnter.value = email
passwordEnter.value = password

signIn.submit()

print browser.url
print browser.headers

form = browser.getForm()

words = open('entrytext.txt', 'r').read()
entry_id = form.getControl(name='entry[id]').value
开发者ID:rpvnwnkl,项目名称:DailyWriter,代码行数:33,代码来源:zopeBrowser.py


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