• Helium文档9-WebUI自动化-find_all获取页面table数据


    前言

    find_all关键字根据官方介绍的作用是查找所有出现GUI元素,并且返回list,下面通过举例说明

    入参介绍

    def find_all(predicate):
    """
    Lets you find all occurrences of the given GUI element predicate. For
    instance, the following statement returns a list of all buttons with label
    "Open"::

    find_all(Button("Open"))

    Other examples are::

    find_all(Window())
    find_all(TextField("Address line 1"))

    The function returns a list of elements of the same type as the passed-in
    parameter. For instance, ``find_all(Button(...))`` yields a list whose
    elements are of type :py:class:`Button`.

    In a typical usage scenario, you want to pick out one of the occurrences
    returned by :py:func:`find_all`. In such cases, :py:func:`list.sort` can
    be very useful. For example, to find the leftmost "Open" button, you can
    write::

    buttons = find_all(Button("Open"))
    leftmost_button = sorted(buttons, key=lambda button: button.x)[0]
    weitungblog
    """

    举例说明

    1、方法一:通过id定位

    def gaokao():
        start_chrome("https://gkcx.eol.cn/school/search")
        get_driver().maximize_window()
        time.sleep(2)
        wait_until(Text("学校名称").exists)
        list = []
        for i in find_all(S("#myTable")):
            highlight(i)
            print(i.web_element.text)
            list.append(i.web_element.text)
            time.sleep(1)
        return list
    
        kill_browser()
    gaokao()
    View Code

    2、方法二:通过 find_all(S("table > tbody"))获取表格数据

    代码如下
    from helium import *
    import time
    
    def gaokao():
        start_chrome("https://gkcx.eol.cn/school/search")
        time.sleep(2)
        wait_until(Text("学校名称").exists)
        list = []
        for i in find_all(S("table > tbody")):
            highlight(i)
            print(i.web_element.text)
            list.append(i.web_element.text)
            time.sleep(1)
        return list
        kill_browser()
    gaokao()
    

     页面分析:

    如下图红色原框标记的位置

    打印效果:

    欢迎交流

    310678696

  • 相关阅读:
    LeetCode对撞指针汇总
    167. Two Sum II
    215. Kth Largest Element in an Array
    2018Action Recognition from Skeleton Data via Analogical Generalization over Qualitative Representations
    题解 Educational Codeforces Round 84 (Rated for Div. 2) (CF1327)
    题解 JZPKIL
    题解 八省联考2018 / 九省联考2018
    题解 六省联考2017
    题解 Codeforces Round #621 (Div. 1 + Div. 2) (CF1307)
    题解Codeforces Round #620 (Div. 2)
  • 原文地址:https://www.cnblogs.com/weitung/p/13580697.html
Copyright © 2020-2023  润新知