First of all, excuse me for my bad english. I'm spanish.
Maybe I can help you with question 2. I think you try to find a tag but sometimes the tag is not found. I solved that using another branch.
In the down Test Tag I found "Actualmente no hay cursos" [There are no courses], Action= Continue if Pattern Matches Found Tag, in Error Handling, Own errors = Ignore and Skip Branch. With this Test if tag is not found, or not matches last input (in yout case), then continue with Do Nothing Tag, and the previous Loop continues with another iteration.
In the upper Test Tag I do the same thing using the ".*Los Cursos programados para este centro son.*" Match Against, and continuing the branch with the main job.
I can't post the snapshots in the forum..
Best regards
Miguel