Selenium / Python / IG Requests



我正在尝试制作一个可以执行各种功能的Instagram机器人程序-InstaPy一直在拖延时间,所以我决定使用selenium,但问题是:我似乎无法通过实际登录IG的第一道障碍。

我在控制台上没有收到任何错误,但它不会让我通过过去的附加cookie接受页面。我玩过xpath,做过一些粗花呢,但还是什么都没有——有什么解决办法吗?

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time, urllib.request
import requests
PATH = r"/Users/PycharmProjects/pythonProject13/chromedriver"
driver = webdriver.Chrome(PATH)
driver.get('https://www.instagram.com')
#login
time.sleep(5)
notnow = driver.find_element_by_xpath("/html/body/div[4]/div/div/button[2], 'Allow Essential and Optional Cookies')]").click()
username=driver.find_element_by_css_selector("input[name='username']")   #arialabelondevtools = #Phone number, username or email address
password=driver.find_element_by_css_selector("input[name='password']")
username.clear()
password.clear()
username.send_keys("testacct1")
password.send_keys("testpassword123")
login = driver.find_element_by_css_selector("button[type='submit']").click()

人们最常见的错误之一是编写绝对xpath,或者可能是从浏览器本身复制xpath,所以使用更智能的xpath,使用id、class和其他属性来编写xpath。。

我最近登录了Instagram,这是一个简单的

driver.get('https://www.instagram.com/')
wait = WebDriverWait(driver, 30)
wait.until(EC.visibility_of_element_located((By.XPATH, '//input[@name="username"]')))
driver.find_element_by_xpath('//input[@name="username"]').send_keys('your_login')
driver.find_element_by_xpath('//input[@type="password"]').send_keys('your_password')
driver.find_element_by_xpath('//input[@type="password"]').submit() 

一旦你通过登录页面,你就可以

driver.get('https://instagram.com/')

它将重新加载到您的主页。。。

最新更新