2016-04-15 5 views
0

Kontext: Azure; C#; .NET 4.5.2; Selenium 2.53Wo finde ich meinen Bildschirm, wenn ich einen Selenium-Schaber von den geplanten Aufgaben verwende?

Ich führe einen Selen-based Schaber in C# geschrieben von einer geplanten Aufgabe. ChromeDriver.exe wird automatisch ausgeführt und Chrome.exe automatisch gestartet: Sie interagieren nicht mit dem Bildschirm des angemeldeten Benutzers.

Ich wurde gebeten, ein Video der Interaktion zwischen der C# -App, ChromeDriver und Chrome zu machen. Es erweist sich als ein bisschen härter als ich dachte.

Ich habe versucht, Screencastify auf die Erwartung, dass, da es als Chrome-Erweiterung ausgeführt wird, dass es den Bildschirm "sehen" und damit in der Lage, es zu erfassen. Screencastify erweist sich jedoch als ziemlich schwierig zu fahren, nicht zuletzt, weil ich Tastenanschläge senden muss, anstatt es über eine API steuern zu können.

Mir ist aufgefallen, dass Screencastify eine API hat, aber die Verwendung dieser API setzt voraus, dass sie auf Ihrer eigenen Website installiert ist. Das heißt, es ist nicht kratzerfreundlich.

Es gibt andere Bildschirm-Capture-Tools wie ScreenRecorder. Ich bin mir überhaupt nicht sicher, ob es in dieser Situation funktioniert, es gibt keinen Bildschirm als solchen (es sei denn, man startet es mit dem Schaber.)

In dieser Situation macht Chrome nur etwas in sich und ignoriert den Mangel an ein Ausgabegerät? Das heißt, läuft es in einer Art Pseudo-Headless-Browser-Zustand?

Ist ein Video von einem geplanten Scrape per Definition unmöglich?

Antwort

0

Sie müssen die Aufgabe so einstellen, dass sie nur ausgeführt wird, wenn der Benutzer angemeldet ist. Andernfalls wird sie versteckt gestartet und Sie können sie nicht sehen. Stellen Sie außerdem sicher, dass Verbergen nicht aktiviert ist. Sie können festlegen, dass sich ein Standardbenutzer beim Starten des Computers anmeldet und dann den Task startet, wenn dieser Benutzer angemeldet ist. Auf diese Weise wird alles auf dem Desktop angezeigt.

Task Scheduler