Привет всем, я работаю над проектом по автоматизации создания учетной записи в социальных сетях. Для этого у меня есть API, который предоставляет мне номер телефона и OTP. Так что в основном мой первый скрипт выбирает номер телефона и Otp из этого API, а второй - нажатие кнопок и заполнение форм. Моя проблема в том, что я не могу заполнить формы, потому что моя основная функция застряла в al oop, потому что я не отправляю никаких opp к этому API. Если у кого-нибудь есть предложения по интеграции этих двух скриптов, поделитесь со мной своей идеей. Я делюсь своими обоими сценариями. Заранее спасибо.
Это код для получения номера телефона и отп от API.
import requests
import json
import time
# This main function takes the value of tzid and call the api inbuild function to print the
# state of operation which has {response: RESPONSE, service: SERVICE, number: NOMER, msg: ANSWER}
def main(tzid):
result2 = requests.get("http://api.sms-reg.com/getState.php?tzid=" +tzid+ "&apikey=my_api_key")
#time.sleep(20)
xyz = result2.text
y = json.loads(xyz)
print(y)
if(y["response"] != "TZ_NUM_PREPARE"): #if response is not equal to "TZ_NUM_PREPARE"
main(tzid) #call the function again and again until we
#get response == "TZ_NUM_PREPARE"
elif(y["response"] == "TZ_NUM_PREPARE"):
print(y["number"])
time.sleep(5)
result3 =requests.get("http://api.sms-reg.com/setReady.php?tzid=" +tzid+ "&apikey=my_api_key")
z = result3.text # result3 call api inbuilt setReady method which
zx = json.loads(z) # tell api that the number is ready for operation
print(z)
if(zx["response"] == "1"): #if we get response 1 for result3 it means number is
time.sleep(15) #now ready for operation
result4 = requests.get("http://api.sms-reg.com/getState.php?tzid=" +tzid+ "&apikey=my_api_key")
r_xyx = result4.text
r_y = json.loads(r_xyx) #result4 is similar to result 2 , this process is repeated
#because we want updated data which contains OTP
if(r_y["response"] != "TZ_NUM_ANSWER"): #if the response does not contains OTP call the function
main(tzid) #again and again
else:
#print(r_y["answer"]) #print otp
print(r_y["answer"])
#Driver Code
if __name__ == "__main__":
# result = requests.get send request to the api to fetch data
# Basically it provides us two parameters "response" and "tzid"
result = requests.get('http://api.sms-reg.com/getNum.php?country=ru&service=gmail&apikey=my_api_key')
id = result.text #id fetch the data in text form
x = json.loads(id) #x loads the text into json
tzid = str(x["tzid"]) #variable tzid fetch the value from json
#print(tzid)
print(tzid)
main(tzid)
И это код, где я хочу, чтобы мой номер телефона и отп
import pyautogui
import time
import pandas as pd
import requests
import json
import fetchapidata
df = pd.read_csv("input.csv")
df0 = df ["name1"]
df1 = df ["job"]
df2 = df ["name2"]
df3 = df ["name3"]
df4 = df ["name4"]
for i in range(1):
#print(df0[i],df1[i])
pyautogui.click(1308, 170) #click on the small account logo
time.sleep(5)
pyautogui.click(1159, 527) #clicks on the sign out button
time.sleep(4)
pyautogui.click(1270, 169) #clicks on the sign in button
time.sleep(4.5)
pyautogui.click(620, 468) #clicks on remove account
time.sleep(2.5)
pyautogui.click(888, 396) #clicks on remove logo
time.sleep(3.5)
pyautogui.click(802, 528) #clicks on yes remove
#pyautogui.click(675, 422) #add another account
time.sleep(5)
pyautogui.click(580, 601) #create account
time.sleep(6)
pyautogui.click(594, 654) #for myself
time.sleep(4)
pyautogui.click(450, 345) #firstname
pyautogui.write(df0[i],interval=0.5)
time.sleep(2)
pyautogui.click(641, 344) #lastname
pyautogui.write(df1[i],interval=0.5)
time.sleep(1.5)
pyautogui.click(453, 407) #userid
pyautogui.write(df2[i],interval=0.4)
time.sleep(1.8)
pyautogui.click(423, 515) #password
pyautogui.write(df3[i],interval=0.4)
time.sleep(1.4)
pyautogui.click(592, 516) #cnfrm password
pyautogui.write(df4[i],interval=0.6)
time.sleep(0.5)
pyautogui.click(706, 637) #done button
time.sleep(7)
pyautogui.click(516, 452) #click on the phone no field
time.sleep(3)
x = fetchapidata.callingfun()
pyautogui.write(y, interval=0.2) #enters phone no
time.sleep(1)
pyautogui.click(705, 532)
time.sleep(5)
pyautogui.click(449, 480) #clicks on otp box
time.sleep(1.5)
pyautogui.write(r_y, interval=0.2) #enters otp
time.sleep(1)
pyautogui.click(710, 570) #clicks verify button
time.sleep(6)
pyautogui.click(414, 580) #clicks month section
time.sleep(1)
pyautogui.click(415, 359) #selects the month
time.sleep(0.5)
pyautogui.click(533, 585) #click on day section
pyautogui.write("1") #write day
time.sleep(0.5)
pyautogui.click(664, 585) #clicks on year
time.sleep(0.3)
pyautogui.write("2000") #write in year section
time.sleep(0.2)
pyautogui.click(423, 669) #click on gender
time.sleep(0.2)
pyautogui.click(401, 735) #select gender
time.sleep(1.5)
pyautogui.scroll(-100)
time.sleep(0.5)
pyautogui.click(697, 638) #click on next button
time.sleep(8)
pyautogui.click(621, 618) #click on skip button
pyautogui.moveTo(189, 589)
time.sleep(0.1)
pyautogui.scroll(-100)
time.sleep(0.4)
pyautogui.click(699, 642) #click on agree button
time.sleep(10)