Discussione Python Selenium BOT Instagram

Universo

Utente Jade
9 Agosto 2011
748
237
24
672
Codice:
import time
from time import sleep
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.keys import Keys


browser = webdriver.Chrome('./chromedriver')
"ANDARE ALLA PAGINA ACCESSO INSTAGRAM"
browser.get('https://www.instagram.com/accounts/login/?hl=it')


sleep(2)
"INVIARE USERNAME E PASSWORD PER L'ACCESSO"
elem = browser.find_element_by_name("username").send_keys('test')
elem = browser.find_element_by_name("password").send_keys('test123')
"CLICCARE IL BOTTONE E ACCEDERE"
good_elem = browser.find_element_by_xpath('//*[@id="react-root"]/section/main/div/article/div/div[1]/div/form/span/button').click()

sleep(3)
"RICARICARE LA PAGINA"
browser.get('https://www.instagram.com/?hl=it')
sleep(2)
"FARE RICERCA IN BASE ALL'USERNAME"
browser.find_element_by_xpath('//*[@id="react-root"]/section/nav/div[2]/div/div/div[2]/input').send_keys('minel')
sleep(2)
"CLICCARE IL PRIMO RISULTATO"
test_elem = browser.find_element_by_xpath('//*[@id="react-root"]/section/nav/div[2]/div/div/div[2]/div[2]/div[2]/div/a[1]/div').click()

"CLICCARE FOLLOW"
browser.find_element_by_xpath('//a[(contains(.,"follow"))]').click()

Ragazzi sto avendo un problema con questo codice.
Ho provato anche a cercare elementi tramite classe e non xpath ma non va o sbaglio qualcosa.
Sapreste aiutarmi?
 
Sono un ritardato ahah.
Il tasto Follow solo non funziona.
L'ultima stringa.
Prova con questo codice. L'ho fatto adesso...:
Python:
import time

from selenium import webdriver

def main():
    driver_path = r"<path_chromedriver>"

    browser = webdriver.Chrome(executable_path=driver_path)
    browser.get("https://www.instagram.com/accounts/login/")
    time.sleep(2)

    print("Accesso in corso....")
    current_url = browser.current_url
    username = browser.find_element_by_name("username").send_keys("<username>")
    password = browser.find_element_by_name("password").send_keys("<passowrd>")
    accedi = browser.find_element_by_xpath('//*[@id="react-root"]/section/main/div/article/div/div[1]/div/form/span/button').click()

    time.sleep(2)
    print("Cerco l'utente....")
    browser.get("https://www.instagram.com/<utente_da_seguire>/")
    time.sleep(2)
    segui = browser.find_element_by_xpath('//*[@id="react-root"]/section/main/div/header/section/div[1]/span/span[1]/button').click()
    
    
if __name__ == "__main__":
    main()

Modifica le parti racchiuse tra "< .... >"
 
  • Mi piace
Reazioni: Universo
Provato a scrivere invece di "follow", "segui" ?
Non funziona

Prova con questo codice. L'ho fatto adesso...:
Python:
import time

from selenium import webdriver

def main():
    driver_path = r"<path_chromedriver>"

    browser = webdriver.Chrome(executable_path=driver_path)
    browser.get("https://www.instagram.com/accounts/login/")
    time.sleep(2)

    print("Accesso in corso....")
    current_url = browser.current_url
    username = browser.find_element_by_name("username").send_keys("<username>")
    password = browser.find_element_by_name("password").send_keys("<passowrd>")
    accedi = browser.find_element_by_xpath('//*[@id="react-root"]/section/main/div/article/div/div[1]/div/form/span/button').click()

    time.sleep(2)
    print("Cerco l'utente....")
    browser.get("https://www.instagram.com/<utente_da_seguire>/")
    time.sleep(2)
    segui = browser.find_element_by_xpath('//*[@id="react-root"]/section/main/div/header/section/div[1]/span/span[1]/button').click()
   
   
if __name__ == "__main__":
    main()

Modifica le parti racchiuse tra "< .... >"

Si funziona sei un grande ;)