Wzorce i praktyki dotyczące zgarniania sieci w .Net (C #) [zamknięte]

9

Przygotuję aplikację do automatyzacji zewnętrznej strony internetowej / aplikacji. W niektórych przypadkach będę musiał nawigować w witrynie tak, jak zrobiłby to użytkownik (niektóre linki, których muszę użyć, nie mogą być przewidziane i muszą zostać przeanalizowane na podstawie odpowiedzi)

Korzystam już z pakietu zwinności HTML i jestem świadom Tidy, jeśli jest to potrzebne.

Czy są jeszcze jakieś technologie, o których powinienem wiedzieć?

Czy są jakieś zalecane wzorce szybkiego dostosowania się w przypadku zmiany zewnętrznej aplikacji internetowej? Przewiduję podsumowanie sprawdzania poprawności odpowiedzi jako pewnego rodzaju strategii lub podobnego wzorca, który można łatwo oddzielić / podłączyć w razie potrzeby, ale wszelkie konkretne sugestie byłyby świetne.

jlnorsworthy
źródło
O tym, każdy przewodnik krok po kroku lub Pierwsze kroki - Szybki start, który można ukończyć w 15-20 minut? Dostaję dobry przykładowy przewodnik krok po kroku, taki jak berniecook.wordpress.com/2013/01/13/ ... Chciałem szybko zaspokoić kilka założeń, zanim zaczniemy: zainstalować (wymagane, wymagane narzędzia), skonfigurować, a działa szybko. Celem będzie próbka „idź i gotowe”. Może lepiej prawdziwa próbka aplikacji.
Kiquenet

Odpowiedzi:

4

Jeśli chcesz zautomatyzować nawigację na zewnętrznej stronie internetowej tak, jak zrobiłby to użytkownik, Watin jest do tego idealny. Będzie prowadzić przeglądarkę internetową przez model obiektowy i ma szeroki zakres możliwości analizowania wbudowanych w DOM (a także funkcje inne niż DOM, które można znaleźć w przeglądarce, w tym skrypty).

Oto link:

Watin.org

dreadwail
źródło
Watin jest jak twoja ulubiona biblioteka JavaScript dla C #.
The Muffin Man,
Jakieś ostateczne rozwiązanie z pełną przykładową aplikacją kodu źródłowego ? IMHO, lepsze próbki w celu zminimalizowania krzywej uczenia się to prawdziwe aplikacje z pełnym kodem źródłowym oraz dobrymi wzorcami i praktykami
Kiquenet
0

Jeśli szukasz możliwości szybkiego wprowadzania zmian w celu śledzenia tych zmian w zewnętrznej aplikacji internetowej, spojrzałbym na skrypt. Jeśli C # jest Twoim wybranym językiem, spójrz na kompilowanie kodu w locie. Jeśli korzystasz z bazy danych, kod skryptu może być tam zapisany, w przeciwnym razie działałyby również zwykłe pliki tekstowe.

Jeśli chodzi o wzorce GoF, strategia jest wyborem podręcznika.

Drugi „wzorzec”, który należy wziąć pod uwagę, zwłaszcza że wspomniano o sprawdzaniu poprawności odpowiedzi przy użyciu ich do wyboru następnej akcji, to maszyna o stanie skończonym . Na przykład, stany dla klienta poczty internetowej mogą być „niezalogowane”, „w skrzynce odbiorczej”, „czytaniu wiadomości”, „edytowaniu odpowiedzi” itp. Wykonałbyś jakąś akcję w zależności od stanu, a następnie na podstawie odpowiedź, wybierz następny stan.

Chrupiący
źródło
0

Wzór naprawdę powinien wynikać z problemu, ale oto kilka opcji:

Jeśli chodzi głównie o ciągły koszt / irytację programistyczną: wzorzec strategii (już wspomniany) - użyj go, aby zaimplementować interfejsy na poziomie komponentu, i zastosuj metodologię dynamicznego wiązania, aby rozwiązać określone strategie (wdrożenia). Kontener IOC (obecnie lubię Autofac) działałby dobrze.

Jeśli potrzebujesz wesprzeć powyższe plus, musisz skalować: Zmniejsz mapę (ktoś wie o dobrym m + r fx dla .net?).

sbrenton
źródło
-1

W zależności od tego, jak bardzo zmienia się strona internetowa, może to być trudne. Możesz przechowywać listę standardowych wyrażeń regularnych w bazie danych, a gdy jedno z nich przestanie działać, możesz zapętlać zestaw podstawowy z innymi, aż trafisz jedno. Następnie chcesz zaznaczyć to do wykorzystania w przyszłości.

Josh O'Bryan
źródło