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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM