zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    K8S学习笔记之k8s使用ceph实现动态持久化存储
    Linux学习笔记之Centos7 自定义systemctl服务脚本
    ELK学习笔记之Kibana权限控制和集群监控
    ELK学习笔记之ELK6.0 X-pack设置用户名和密码
    Linux学习笔记之rsync配置
    K8S学习笔记之Pod的Volume emptyDir和hostPath
    不小心删除了某个包的一部分,重新安装方法
    串口数据解析总结
    CMakeLists 链接库相关指令
    google 开源项目阅读计划
  • 原文地址:https://www.cnblogs.com/weitung/p/13580697.html
Copyright © 2011-2022 走看看