Create ~ W_Element

Bao gồm các khối được sử dụng kết hợp với nhau để thao tác với các phần tử (tiếng anh gọi là element hoặc control) trong một ứng dụng. Để hiểu phần này một cách hoàn chỉnh, vui lòng tham khảo trước bài viết các phần tử trong một ứng dụng và đặc điểm nhận diện của chúng.

Các khối

get_element(args_1 = ..., args_2 = ..., args_3 = ..., args_4 = ..., args_5 = ...)

Khối này có tác dụng tìm kiếm và trả về một phần tử trong một cửa sổ ứng dụng đang chạy.

Các tham số:

Để hiểu thêm về cách sử dụng khối, xem xét ví dụ sau:

Chương trình trên hoạt động như sau:

  • Khối thứ nhất:

    Có chức năng mở ra một trình duyệt Microsoft Edge với url https://accounts.google.com/signup

  • Khối thứ hai:

    Kết nối cửa sổ ứng dụng có tiêu đề khớp nhất với chuỗi Profile 1 - Microsoft Edge

    Tìm kiếm Edit Element có thuộc tính auto_id = "username" và lưu vào biến với tên edit_user_name.

    Hành động ở khối thứ hai được lặp lại tối đa 10 lần, cho tới khi tìm thấy Element.

  • Khối thứ ba:

    Kết nối tới Element tìm thấy ở khối 2 và thực hiện hành động vẽ một khung màu đỏ bao quanh nó.

Kết quả như sau:


get_elements(args_1 = ..., args_2 = ..., args_3 = ..., args_4 = ..., args_5 = ...)

Các tham số hoàn toàn giống như ở khối trên. Điểm khác nhau giữa khối này và khối trước là khối này sẽ trả về một list các phần tử (elements).

Xem xét ví dụ sau:

Chương trình hoạt động như sau:

  • Khối thứ nhất:

    Có chức năng mở ra một trình duyệt Microsoft Edge với url https://accounts.google.com/signup

  • Khối thứ hai:

    Kết nối cửa sổ ứng dụng có tiêu đề khớp nhất với chuỗi Profile 1 - Microsoft Edge

    Tìm kiếm toàn bộ các Edit Element có thuộc tính class_name = "whsOnd zHQkBf", trả về kết quả dạng list và lưu vào biến có tên elements.

    Hành động ở khối thứ hai được lặp lại tối đa 10 lần, cho tới khi tìm thấy các Elements.

  • Khối thứ ba:

    Duyệt qua từng phần tử trong list phần tử được trả về ở khối 2, chờ 1.5 giây và thực hiện hành động vẽ một khung màu đỏ bao quanh các phần tử đó.

Kết quả như sau:


connect_element...then...

Ở khối trước, chúng ta đã thấy sự xuất hiện của khối này với tác dụng vẽ một khung màu đỏ bao quanh phần tử tìm thấy.

Khối này có chức năng kết nối tới một phần tử. Sau khi kết nối thành công với phần tử chúng ta có thể kiểm tra giá trị các thuộc tính của phần tử đó, hoặc thực hiện các hành động khác nhau lên phần tử, như click, press, drow_outline...

Các hành động chúng ta có thể được thực hiện với phần tử được liệt kê trong menu sổ xuống ở hình sau:

connect_element...then draw_outline

Ví dụ:

Các tham số:
  • argument_value : https://sbot.co/s_bot_editor/example/w_ui_spy
  • window_title_re : Profile 1 - Microsoft Edge
  • auto_id : btn_1
connect_element...then click

Ví dụ:

Các tham số:
  • argument_value : https://sbot.co/s_bot_editor/example/w_ui_spy
  • window_title_re : Profile 1 - Microsoft Edge
  • auto_id : btn_1
connect_element...then double_click

Ví dụ:

Các tham số:
  • argument_value : https://sbot.co/s_bot_editor/example/w_ui_spy
  • window_title_re : Profile 1 - Microsoft Edge
  • auto_id : btn_2
connect_element...then right_click

Ví dụ:

Các tham số:
  • argument_value : https://sbot.co/s_bot_editor/example/w_ui_spy
  • window_title_re : Profile 1 - Microsoft Edge
  • auto_id : btn_3
connect_element...then middle_click

Ví dụ:

Các tham số:
  • argument_value : https://sbot.co/s_bot_editor/example/w_ui_spy
  • window_title_re : Profile 1 - Microsoft Edge
  • auto_id : btn_4

connect_element...type...

Khối này có tác dụng kết nối tới các phần tử đầu vào văn bản và tiến hành nhập các ký tự với động tác giả mạo hành vi người dùng thực sử dụng bàn phím cơ học. Nên sử dụng khối này trong các kịch bản đối với các nền tảng có hệ thống untibot tiên tiến như google, facebook, ebay...

Ví dụ:

Các tham số:
  • argument_value : https://sbot.co/s_bot_editor/example/w_ui_spy
  • window_title_re : Profile 1 - Microsoft Edge
  • auto_id : txt_your_name

connect_element...set_text...

Khối này có tác dụng kết nối tới các phần tử đầu vào văn bản và tiến hành nhập nhanh một chuỗi văn bản. Khối này có thể sử dụng trong các kịch bản đối với các hệ thống đơn giản, không được trang bị hệ thống antibot, công việc yêu cầu thời gian đáp ứng nhanh.

Ví dụ:

Các tham số:
  • argument_value : https://sbot.co/s_bot_editor/example/w_ui_spy
  • window_title_re : Profile 1 - Microsoft Edge
  • auto_id : txt_your_name

click_and_hold_element...move_to_element...

Di chuyển chuột tới giữa một phần tử, nhấn giữ vào kéo vào giữa một phần tử khác.

Ví dụ:

Các tham số:
  • argument_value : https://sbot.co/s_bot_editor/example/w_ui_spy
  • window_title_re : Profile 1 - Microsoft Edge
  • auto_id : source_element, target_element

click_and_hold_element...move_to_location...

Di chuyển chuột tới giữa một phần tử, nhấn giữ vào kéo tới một tọa độ xác định.

Ví dụ:

Các tham số:
  • argument_value : https://sbot.co/s_bot_editor/example/w_ui_spy
  • window_title_re : Profile 1 - Microsoft Edge
  • auto_id : source_element

connect_element {args_1} get {args_2}

Các tham số:

  • {args_1}: đối tượng điều khiển.
  • {args_2}: tên thuộc tính muốn lấy thông tin.
connect_element ... get dictionary_properties

Tùy chọn dictionary_properties sẽ trả về kết quả là một dictionary bao gồm các thuộc tính cơ bản của phần tử.

Ví dụ:

Các tham số:

  • argument_value: https://sbot.co/s_bot_editor/example/w_ui_spy
  • window_title_re: Profile 1 - Microsoft Edge
  • auto_id: btn_1

Kết quả:

    
      {'class_name': 'my-control btn-test-click mr-5', 'friendly_class_name': 'Button', 'texts': ['Button 1'], 'control_id': None, 'rectangle': , 'is_visible': True, 'is_enabled': True, 'control_count': 0, 'is_keyboard_focusable': True, 'has_keyboard_focus': False, 'automation_id': 'btn_1'}
      my-control btn-test-click mr-5
      Button
      ['Button 1']
      None
      (L-1553, T272, R-1452, B301)
      True
      True
      0
      True
      False
      btn_1
    
  
connect_element ... get texts

Trả lại một list văn bản cho từng mục của phần tử.

Các tham số:

  • argument_value: https://sbot.co/s_bot_editor/example/w_ui_spy
  • window_title_re: Profile 1 - Microsoft Edge
  • auto_id: btn_1

Kết quả:

    
      Button 1
    
  
connect_element ... get window_text

Trả về văn bản cửa sổ của phần tử.

Các tham số:

  • argument_value: https://sbot.co/s_bot_editor/example/w_ui_spy
  • window_title_re: Profile 1 - Microsoft Edge
  • auto_id: btn_1

Kết quả:

    
      Button 1
    
  
w_element_get_position_y_block
connect_element ... get position_x

Trả về tọa độ x của phần tử, tính từ góc trên trái của trình .

Các tham số:

  • argument_value: https://sbot.co/s_bot_editor/example/w_ui_spy
  • window_title_re: Profile 1 - Microsoft Edge
  • auto_id: btn_1

Kết quả:

    
      367
    
  
connect_element ... get position_y

Trả về tọa độ x của phần tử, tính từ góc trên trái của trình .

Các tham số:

  • argument_value: https://sbot.co/s_bot_editor/example/w_ui_spy
  • window_title_re: Profile 1 - Microsoft Edge
  • auto_id: btn_1

Kết quả:

    
      272
    
  
connect_element ... get size_width

Trả về tọa độ x của phần tử, tính từ góc trên trái của trình .

Các tham số:

  • argument_value: https://sbot.co/s_bot_editor/example/w_ui_spy
  • window_title_re: Profile 1 - Microsoft Edge
  • auto_id: btn_1

Kết quả:

    
      101
    
  
connect_element ... get size_height

Trả về tọa độ x của phần tử, tính từ góc trên trái của trình .

Các tham số:

  • argument_value: https://sbot.co/s_bot_editor/example/w_ui_spy
  • window_title_re: Profile 1 - Microsoft Edge
  • auto_id: btn_1

Kết quả:

    
      101
    
  
connect_element ... get is_dialog

Trả về tọa độ x của phần tử, tính từ góc trên trái của trình .

Các tham số:

  • argument_value: https://sbot.co/s_bot_editor/example/w_ui_spy
  • window_title_re: Profile 1 - Microsoft Edge
  • auto_id: btn_1

Kết quả:

    
      101
    
  
connect_element ... get is_active

Trả về trạng thái của phần tử có đang được active hay không.

Các tham số:

  • argument_value: https://sbot.co/s_bot_editor/example/w_ui_spy
  • window_title_re: Profile 1 - Microsoft Edge
  • auto_id: btn_1

Kết quả:

    
      True
    
  
connect_element ... get is_enabled

Trả về trạng thái của phần tử có đang được enable hay không.

Các tham số:

  • argument_value: https://sbot.co/s_bot_editor/example/w_ui_spy
  • window_title_re: Profile 1 - Microsoft Edge
  • auto_id: btn_1

Kết quả:

    
      False
    
  
connect_element ... get is_visible

Trả về trạng thái của phần tử có đang được hiển thị trong của sổ trình duyệt hay không.

Các tham số:

  • argument_value: https://sbot.co/s_bot_editor/example/w_ui_spy
  • window_title_re: Profile 1 - Microsoft Edge
  • auto_id: btn_1

Kết quả:

    
      True
    
  
connect_element ... get is_collapsed

Trả về trạng thái cho biết rằng mục TreeView hoặc một phần tử web Collapsible đã được chọn hay chưa.

Các tham số:

  • argument_value: https://sbot.co/s_bot_editor/example/w_ui_spy
  • window_title_re: Profile 1 - Microsoft Edge
  • name: Collapsible Group Item #2

Kết quả:

    
      False
    
  
connect_element ... get is_expanded

Trả về trạng thái cho biết rằng mục TreeView hoặc một phần tử web Collapsible đã được chọn hay chưa.

Các tham số:

  • argument_value: https://sbot.co/s_bot_editor/example/w_ui_spy
  • window_title_re: Profile 1 - Microsoft Edge
  • name: Collapsible Group Item #2

Kết quả:

    
      True
    
  
connect_element ... get is_keyboard_focusable

Trả về trạng thái của phần tử có đang được hiển thị trong của sổ trình duyệt hay không.

Các tham số:

  • argument_value: https://sbot.co/s_bot_editor/example/w_ui_spy
  • window_title_re: Profile 1 - Microsoft Edge
  • auto_id: label_1

Kết quả:

    
      False
    
  
connect_element ... get is_checked

Trả về trạng thái của phần tử CheckBox có đang được check hay không.

Các tham số:

  • argument_value: https://sbot.co/s_bot_editor/example/w_ui_spy
  • window_title_re: Profile 1 - Microsoft Edge
  • auto_id: rd_1

Kết quả:

    
      True
    
  
connect_element ... get is_selected

Trả về trạng thái của phần tử RadioButton có đang được chọn hay không.

Các tham số:

  • argument_value: https://sbot.co/s_bot_editor/example/w_ui_spy
  • window_title_re: Profile 1 - Microsoft Edge
  • auto_id: rd_1

Kết quả:

    
      True