ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

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

2020-08-29 07:32:49  阅读:472  来源: 互联网

标签:text list element sleep WebUI time table Helium find


前言

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]
"""

举例说明

1、方法一:

 

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()

 页面分析:

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

打印效果:

标签:text,list,element,sleep,WebUI,time,table,Helium,find
来源: https://www.cnblogs.com/weitung/p/13580697.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有