Skip to content

FrankBGao/RPA_F2R_Robot

Repository files navigation

RPA_F2R_Robot

This project is a part of the RWTH-Aachen PADS group's RPA research. This project is a further POC for the F2R approach. In this project, we try to build a robot for transferring data from a excel file to a webpage form.

For example, in our group, we should upload students' grade for a course to the Moodle system. alt text

In our F2R approach, we say any constant data structure can be defined as a form. In this example, the webpage for filling the students' grade could be seen as a form. alt text

In robot, we define this form as a key-value object.

{
    "name": "Final_Grade",
    "type": "form",
    "container":"web",
    "address": "https://moodle.rwth-aachen.de/mod/assign/view.php?id=79063&rownum=0&action=grader&userid=",
    "form_field": [
      {
        "name": "NoticeStudent",
        "address": "/html/body[1]/div[4]/div[1]/div[1]/div[4]/div[1]/form[1]/label[1]/input[1]"
      },
      {
        "name": "Grade",
        "address": "//*[@id='id_grade']"
      }
    ],
    "begin_route": {
      "motion": "list",
      "start_address": "list"
    },
    "finish_route": [{
      "motion": "click",
      "address": "/html/body[1]/div[4]/div[1]/div[1]/div[4]/div[1]/form[1]/button[1]",
      "destination_address": "list"
    },{
      "motion": "click",
      "address":"/html/body[1]/div[4]/div[1]/div[1]/div[1]/div[1]/div[1]/div[1]/a[4]"
    },{
      "motion": "click",
      "address":"/html/body[1]/div[4]/div[1]/div[1]/div[1]/div[1]/div[1]/div[1]/a[4]"
    }

Except the keys we defined in the F2R, we also define the "begin_route" and "finish_route" in this project. The robot will follow this two key's information for entering and leaving the form.

In this project, we also define anther data object, "Table". A "Table" contains a set of filled form (form instance). In this example, a list of students's grade in the Moodle is a "Table". alt text

In robot, we define this table as a key-value object.

  {
    "name": "Final_Grade_list",
    "type": "list",
    "structure":"table",
    "container":"web",
    "address": "https://moodle.rwth-aachen.de/mod/assign/view.php?id=79063&action=grading",
    "structure_address":"html/body[1]/div[1]/div[2]/div[1]/div[1]/section[1]/div[2]/div[2]/div[3]/table[1]",
    "instance_id_class":"/td[4]/a[1]",
    "enter_class":"/td[6]/a[1]"
  }

We assume any filed form has an instance ID. In a "table", the robot could search a certain filled form based on an instance ID. Then, the robot will enter into the form, and transfer the information from the Excel file to the form alt text

Releases

No releases published

Packages

No packages published