コード例 #1
0
ファイル: finders.py プロジェクト: kiwnix/salad
def _get_element(finder_function, pick, pattern):
    # to support the splinter legacy functions
    legacy_functions = ['by_value', 'by_partial_href', 'by_href']
    for lf in legacy_functions:
        if lf in finder_function:
            finder_function = "find_by_css"
            pattern = PATTERN_ASSOCIATION[lf] % (pattern, )

    finder_function = FINDER_ASSOCIATION[finder_function]
    element = world.browser.driver.__getattribute__(finder_function)(pattern)
    if not element:
        msg = ("function: %s, pattern: %s, index: %s" %
               (finder_function, pattern, pick))
        world.failure = (ElementDoesNotExist, msg)
        return None

    index = pick_to_index(pick)
    try:
        element = element[index]
    except IndexError:
        msg = ("There are elements that match your search, but the index is "
               "out of range.\nfunction: %s, pattern: %s, index: %s" %
               (finder_function, pattern, pick))
        world.failure = (ElementAtIndexDoesNotExist, msg)
        return None

    world.current_element = element
    return element
コード例 #2
0
ファイル: finders.py プロジェクト: salad/salad
def _get_element(finder_function, pick, pattern):
    ele = world.browser.__getattribute__(finder_function)(pattern)

    index = pick_to_index(pick)
    ele = ele[index]

    if not "WebDriverElement" in "%s" % type(ele):
        if len(ele) > 1:
            logger.warn("More than one element found when looking with %s "
                        "for %s.  Using the first one. " %
                        (finder_function, pattern))
        ele = ele.first

    world.current_element = ele
    return ele
コード例 #3
0
ファイル: finders.py プロジェクト: Work4Labs/salad
def _get_element(finder_function, pick, pattern):
    ele = world.browser.__getattribute__(finder_function)(pattern)

    index = pick_to_index(pick)
    ele = ele[index]

    if not "WebDriverElement" in "%s" % type(ele):
        if len(ele) > 1:
            logger.warn("More than one element found when looking with %s "
                        "for %s.  Using the first one. " %
                        (finder_function, pattern))
        ele = ele.first

    world.current_element = ele
    return ele