各路高手,碰到一个实际工作中的问题,探讨一下用python能否实现自动化
一个登陆程序,我需要的是 用一台电脑 登陆60+个账号,密码,就是登陆一个,退出 再登陆下一个,再继续退出这个用人工做 会很麻烦的各路高手能否指点一下代码能否实现 代码当然可以了,一次登录60个都没问题 pytho 发表于 2021-3-11 09:20
代码当然可以了,一次登录60个都没问题
具体应该怎么做呢,需要用到哪个模块 浏览器账号登录的话可以用webdriver
程序登录的话可以尝试pywin32+pyautogui wp231957 发表于 2021-3-11 09:27
具体应该怎么做呢,需要用到哪个模块
requests模块就可以了
大概这个样子
import requests
headers = {
"User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 11_2_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.192 Safari/537.36",
"Accept": "application/json, text/plain, */*",
'Content-Type': 'application/x-www-form-urlencoded',
'Accept-Language': 'zh-CN,zh;q=0.9,en;q=0.8'
}
def login(name,password):
url = 'https://xxxx'
data = {
"password":password,
"name":name
}
res = requests.post(url,data,headers = headers)
print(res.txt)
def main():
password = '123456'
with open('用户名.txt','r') as f:
names = f.readlines()
for u in names:
u = (u.strip("\n"))
login(u, password)
if __name__ == '__main__':
main() wp231957 发表于 2021-3-11 09:27
具体应该怎么做呢,需要用到哪个模块
登录的话requests模块就够了
弄了一个示例代码,不过在审核中 pytho 发表于 2021-3-11 09:33
登录的话requests模块就够了
弄了一个示例代码,不过在审核中
不是浏览器登陆,是程序 wp231957 发表于 2021-3-11 09:39
不是浏览器登陆,是程序
哦哦,这个没搞过
你看看4楼的方法
逃兵 发表于 2021-3-11 09:30
浏览器账号登录的话可以用webdriver
程序登录的话可以尝试pywin32+pyautogui
谢谢,我先搜一下 才60个都不够写代码麻烦的,直接复制粘贴不就好了么?除非是每天每次都要登录 pyautogui 点击点击登录,然后点击退出
将账户密码保存为文件,写个脚本解析文件
使用循环:
1. 复制账号到粘贴板, pyautogui 点击输入框,粘贴
2.复制密码,重复 1步骤。
Cool_Breeze 发表于 2021-3-11 11:05
pyautogui 点击点击登录,然后点击退出
将账户密码保存为文件,写个脚本解析文件
我总感觉pyautogui库和pyperclip库有bug{:10_292:}
每一步都得sleep 不然会不按照顺序来 下面的代码会先于上面的代码执行 kogawananari 发表于 2021-3-11 13:07
我总感觉pyautogui库和pyperclip库有bug
每一步都得sleep 不然会不按照顺序来 下面的代码会先 ...
没有遇到过。。可能我用的少吧! Cool_Breeze 发表于 2021-3-11 11:05
pyautogui 点击点击登录,然后点击退出
将账户密码保存为文件,写个脚本解析文件
如果是安全性高点的密码输入框可能会粘贴不了 hrp 发表于 2021-3-11 14:32
如果是安全性高点的密码输入框可能会粘贴不了
只有中文是需要粘贴的键盘上有键可以直接敲字母的不需要粘贴 按键精灵,可以了解一下{:10_315:} 用win32API 不就好了吗?
import win32api
import time
#鼠标移动
def mouse_move(x,y):
win32api.SetCursorPos()
#鼠标点击,默认左键
def mouse_click(click_type="left"):
if click_type=="left":
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP | win32con.MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0)
else:
win32api.mouse_event(win32con.MOUSEEVENTF_RIGHTUP | win32con.MOUSEEVENTF_RIGHTDOWN, 0, 0, 0, 0)
time.sleep(0.01)
#鼠标双击击,默认左键
def mouse_double_click(click_type="left"):
if click_type=="left":
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP | win32con.MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0)
time.sleep(0.01)
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP | win32con.MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0)
else:
win32api.mouse_event(win32con.MOUSEEVENTF_RIGHTUP | win32con.MOUSEEVENTF_RIGHTDOWN, 0, 0, 0, 0)
time.sleep(0.01)
win32api.mouse_event(win32con.MOUSEEVENTF_RIGHTUP | win32con.MOUSEEVENTF_RIGHTDOWN, 0, 0, 0, 0)
time.sleep(0.01) z5560636 发表于 2021-3-11 16:35
用win32API 不就好了吗?
输入呢,向用户名框和密码框输入咋弄 wp231957 发表于 2021-3-11 16:39
输入呢,向用户名框和密码框输入咋弄
from config import VK_CODE
import win32api
def key_input( input_words=''):
for word in input_words:
win32api.keybd_event(VK_CODE, 0, 0, 0)
win32api.keybd_event(VK_CODE, 0, win32con.KEYEVENTF_KEYUP, 0)
time.sleep(0.1)
def key_even( input_key):
win32api.keybd_event(VK_CODE, 0, 0, 0)
time.sleep(0.01)
win32api.keybd_event(VK_CODE, 0, win32con.KEYEVENTF_KEYUP, 0)
time.sleep(0.3)
页:
[1]