Python Forum

Full Version: instabot error (help)
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
hey guys if write this code and it's work but it can't like the photos from hashtag.any body knows how can i fix this?
thanks.
from selenium import webdriver
from selenium.webdriver.common.keys import Keys 
import time 


class instabot:
    
    def __init__(self, username, password):
      self.username = username
      self.password = password 
      self.driver =  webdriver.Firefox()
      
    def closeBrowser(self):
        self.driver.close()
        
    def login(self):
        driver = self.driver 
        driver.get("https://www.instagram.com") 
        time.sleep(2) 
        #login_button = driver.find_element_by_xpath()  
        #login_button.click()
        #time.sleep(2)
        username_elem = driver.find_element_by_xpath("/html/body/div[1]/section/main/article/div[2]/div[1]/div/form/div[2]/div/label/input")
        username_elem.clear()
        username_elem.send_keys(self.username)
        password_elem = driver.find_element_by_xpath("/html/body/div[1]/section/main/article/div[2]/div[1]/div/form/div[3]/div/label/input")
        password_elem.clear()
        password_elem.send_keys(self.password)
        password_elem.send_keys(Keys.RETURN)
        time.sleep(5)
        
        
    def popup(self):
        driver = self.driver 
        driver.find_element_by_xpath("/html/body/div[3]/div/div/div[3]/button[2]").click()
        
        
    def like_photo(self, hashtag):
        driver = self.driver 
        driver.get("https://www.instagram.com/explore/tags/" + hashtag + "/")
        time.sleep(4)
        for i in range(1, 3):
            driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
            time.sleep(2)
        hrefs = driver.find_elements_by_tag_name('a')
        pic_hrefs = [elem.get_attribute('href') for elem in hrefs]
        pic_hrefs = [href for href in pic_hrefs if hashtag in href]
        print(hashtag  + " photos: "  +  str(len(pic_hrefs)))
           
        for pic_href in pic_hrefs:
            driver.get(pic_href) 
            driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
            try:
                driver.find_element_by_link_text("Like").click()
                time.sleep(18)
            except Exception as e:
                time.sleep(2)
                
                   

        
kernelIG = instabot("your username", "your password")
kernelIG.login()
kernelIG.popup()
kernelIG.like_photo("your hashtag")
        
any body is here?