大家好,因为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')
由于selenium无法处理上载窗口,因此该页面处于“静止”状态,为此,您需要使用AutoIt(如果您在windows上)或Robot Framework来处理该页面。在过去,它还可以在输入文件上使用send_keys方法
Here is a topic on that
相关问题 更多 >
编程相关推荐