Pythonスクリプトファイルのマイクロチャネルの送信タイミング

背景:友達は私がファイルを変更できますが、私は完全に真夜中を変更しました。友人へのマイクロ手紙が彼に残りを気にします恐れている場合、この時間。自動的にマイクロチャネル情報を送信するスクリプトを記述するためのPythonを使用することを決定し、自動的に次の日の朝に送信されます。
簡単なミッションステートメント:Pythonの自動化された手順、マイクロ文字をドラッグして、それを送信するための時間の午前6:00にfile.txtなどを使用。

0レディ

まず考慮すべきは、Pythonによるマウス操作をシミュレートする方法です。ここで私は店の周り:

モジュール 出演者 最新のコミット
Pyuserinput 903 2016年2月26日
マウス 274 2020年1月2日
PyAutoGUI 3600 2020年1月14日

比較の後、我々はPyAutoGUIを選びました。

Windowsの/ Macのインストール:
pip install pyautogui
クレソンのソースを加速することでConda仮想環境:
python -m pip install -i https://pypi.douban.com/simple/ pyautogui


座標を得るために1

あなたがファイルを送信したいものは、最初のファイルの座標を取得した後、マウスのドラッグをシミュレートする必要があります。
画面座標を取得するには、次のコードを使用することができます。

import pyautogui
import time
time.sleep(2)
print(pyautogui.position())

上記のプログラムは、ファイルの上にマウスにあなたを待って、2秒を一時停止します。2秒後、プログラムの意志出力スクリーン座標ファイル。私のテストでは、私はスクリーン座標の右上隅にファイルを置きます(1857, 31)

しかし、これやや少ない自動やって。
pyautoguiがより自動化された方法を提供pyautogui.locateOnScreen()し、pyautogui.locateCenterOnScreen()
私たちがする必要があるfile.txt座標以下のように、最初のショットで、私は、あまりありません覚えています。
ここに画像を挿入説明
この場合、スクリーンショットのファイルは、そうでない場合は、バックグラウンド文書が変更され、移動することはできません。したがって、可能好ましくはバックグラウンドのような小さなスクリーンショットのように次の
ここに画像を挿入説明
テーマ名の後、ディレクトリとパイソンに、このラインを置き換えることができます。

file_pos = pyautogui.locateCenterOnScreen('file.png')

画面上の画像の位置を覆わないとき、コードが実行されることに注意してください。


2アナログドラッグ

ここでやるから、ファイルにある(1857, 31)マイクロレターボックスに座標ドラッグ。マイクロチャネルコードフレームを取得詳細には触れていない座標。パラメータは前記DragToドラッグ法は、使用されるduration時間をドラッグするように設定されなければなりません。直接コードに。

import pyautogui

file_pos = pyautogui.locateCenterOnScreen('file.png')
wechat_pos = pyautogui.locateCenterOnScreen('wechat.png')
print(file_pos,wechat_pos)

pyautogui.moveTo(file_pos)

pyautogui.dragTo(wechat_pos, duration=0.5)

pyautogui.click(wechat_pos)
pyautogui.press('enter')

ここに画像を挿入説明

3タイミング

動作のタイミングはtarget_timeが最も近い秒までの時間を設定し、非常に簡単です。検出時間を提供することができる頻度time.sleep()

import datetime
import time
target_time = datetime.datetime(2020, 3, 18, 6, 0, 0)
current_time = datetime.datetime.now()
while current_time < target_time:
    time_delta = target_time-current_time
    minutes_delta = int(time_delta.seconds/60)
    seconds_delta = time_delta.seconds - int(time_delta.seconds/60)*60
    print("current time:{},   {}:{} left".format(current_time, minutes_delta, seconds_delta))
    if current_time < target_time:
        time.sleep(60)
    current_time = datetime.datetime.now()

import pyautogui
file_pos = pyautogui.locateCenterOnScreen('file.png')
wechat_pos = pyautogui.locateCenterOnScreen('wechat.png')
print(file_pos,wechat_pos)

pyautogui.moveTo(file_pos)

pyautogui.dragTo(wechat_pos, duration=0.5)

pyautogui.click(wechat_pos)
pyautogui.press('enter')

ここに画像を挿入説明

4ノート

設定は定期的に長い後に送信された場合は、画面の自動ロック画面を防ぐことを忘れないでください!

その他5

いくつかのドラッグは、本明細書で、コピーして貼り付け、キーボードエミュレーションCtrl + C、Ctrl + V缶として、より簡単な操作の代わりに使用することができます。

公開された673元の記事 ウォンの賞賛644 ビュー380 000 +

おすすめ

転載: blog.csdn.net/zhaohaibo_/article/details/104920859