2017-05-30 126 views
0

我期待能夠自動登錄到Instagram的login使用Python機械化,但我只是得到一個錯誤"No form matching nr=0",這裏是我的代碼。機械化選擇Instagram的形式

import mechanize 

br = mechanize.Browser() 
br.set_handle_robots(False) 
response = br.open("http://www.instagram.com/accounts/login) 
br.select_form(nr = 0) 
br.form["username"] = "[my username]" 
br.form["password"] = "[my password]" 
br.method = "POST" 
response = br.submit() 

有沒有人有任何想法我可以解決這個問題?該表格沒有名稱,所以我無法手動輸入名稱。

回答

0
from selenium import webdriver 

driver = webdriver.Chrome() 
driver.get("https://www.instagram.com/accounts/login/") 

username = driver.find_element_by_xpath(
    '//*[@id="react-root"]/section/main/div/article/div/div[1]/div/form/div[1]/input') 
username.send_keys('my_username') 

password = driver.find_element_by_xpath(
    '//*[@id="react-root"]/section/main/div/article/div/div[1]/div/form/div[2]/input') 
password.send_keys('my_password') 
password.submit() 

input('logged in...?') # temporary so browser doesn't close immediately 

driver.close()