你好,因为 Instagram API 不再工作了,但我仍然想要一个 Instagram 机器人,我开始了自己的小项目。一切都很顺利,直到我遇到了一件非常有趣的事情。
当我单击上传图片按钮时,会出现文件对话框,这也是计划好的,然后我想做的是模拟按键,所以没什么特别的(也在我的脚本中稍早做了一点)但是出于什么原因我的python当涉及到文件对话框时,脚本只是停止,没有错误或其他任何内容,脚本也仍然处于活动状态,只是不想转到下一行。
from selenium import webdriver
from time import sleep
import keyboard
from selenium.webdriver.common.action_chains import ActionChains
driver = webdriver.Chrome()
driver.get("https://instagram.com")
sleep(2)
#login into Account
username = driver.find_element_by_xpath("/html/body/div[1]/section/main/article/div[2]/div[1]/div/form/div/div[1]/div/label/input")
password = driver.find_element_by_xpath("/html/body/div[1]/section/main/article/div[2]/div[1]/div/form/div/div[2]/div/label/input")
loginBtn = driver.find_element_by_xpath("/html/body/div[1]/section/main/article/div[2]/div[1]/div/form/div/div[3]/button")
#put your username and password here
username.send_keys("username")
password.send_keys("pw")
loginBtn.click()
sleep(4)
#----------------------------------
safeLoginDateBTN = driver.find_element_by_xpath("/html/body/div[1]/section/main/div/div/div/div/button")
safeLoginDateBTN.click()
sleep(4)
notNowNotifications = driver.find_element_by_xpath("/html/body/div[4]/div/div/div/div[3]/button[2]")
notNowNotifications.click()
sleep(4)
#now comes the interestig part
#The problem is that there is no instgram API anymore so what are we going to do?
#exactly we are going to say instagram that we are actually a smarthphone so the browser switches to "phone mode"
keyboard.press_and_release('F12')
sleep(2)
keyboard.press_and_release('Cmd+Shift+M')
sleep(2)
driver.refresh()
#now we are in the device mode
#this is a little workaround because the sh*ti instagram api isnt working anymore
#now comes the upload part
uploadPictureBtn = driver.find_element_by_xpath("/html/body/div[1]/section/nav[2]/div/div/div[2]/div/div/div[3]")
uploadPictureBtn.click()
keyboard.press_and_release('PicsForInstagram')
keyboard.press_and_release('Enter')
慕标5832272
相关分类