asimptot / FollowerBot

Follower bot for Instagram
190 stars 66 forks source link

follower.py error #59

Closed arham837 closed 1 year ago

arham837 commented 1 year ago

What is your Instagram username? arhamjain837 Getting followers... Please do not terminate the program. Traceback (most recent call last): File "C:\Users\mansh\Desktop\FollowerBot-main\FollowerBot-main\get_instagram_followers.py", line 11, in class Instagram: File "C:\Users\mansh\Desktop\FollowerBot-main\FollowerBot-main\get_instagram_followers.py", line 31, in Instagram if("Başarıyla Gönderildi" in self.browser.page_source): ^^^^ NameError: name 'self' is not defined

arham837 commented 1 year ago

Same error of retrying is comming i have change code but still same my code is from time import sleep import sys sys.path.append(r'C:\Projects\Get_Free_Followers') from init import * from selenium.webdriver.support import expected_conditions as EC from selenium.webdriver.support.ui import WebDriverWait

username = input('What is your Instagram username?\n') print('Getting followers... Please do not terminate the program.')

class Instagram: def setup(self): Setup.init(self)

def go_to_website(self):
    sleep(4)
    self.browser.get('https://tolinay.com/instagram-begeni-hilesi')
    sleep(4)

    N = 6
    actions = ActionChains(self.browser)
    for _ in range(N):
        actions.send_keys(Keys.TAB).perform()
        sleep(2)

    actions.send_keys(post_link).perform()
    sleep(2)

    actions.send_keys(Keys.RETURN).perform()
    element_present = EC.presence_of_element_located((By.XPATH, '/html/body/div[2]/div[2]/div[1]/div/div/div[1]/div'))
    WebDriverWait(self.browser, 1000).until(element_present)

    if("Başarıyla Gönderildi" in self.browser.page_source):
        print(f"\nYou got 10 likes!")
        self.browser.save_screenshot('liked.png')
    elif("Çok Hızlı İşlem Yapıyorsunuz" in self.browser.page_source):
        print(f"\nError! Do not run the program fast mode!")
        self.browser.save_screenshot('error.png')
    else:
        print(f"\nError! Your credits have been expired! Please change your Instagram username.")
        self.browser.save_screenshot('error.png')

def close_browser(self):
    Setup.close_browser(self)

ig = Instagram() j = 0 while(True): ig.setup() i = 0 try: while(True): try: ig.go_to_website() i = i + 1 except: ig.close_browser() j = j + 1 except: print('An error has been occurred. Retrying...')

asimptot commented 1 year ago

Please share as screenshot of your code.

arham837 commented 1 year ago

Code screenshot is here https://ibb.co/X5tH7RR https://ibb.co/JxRYNXX

asimptot commented 1 year ago

1) Are you sure that your code is in C:\Projects\Get_Free_Followers path? 2) Which init.py file do you use?

arham837 commented 1 year ago

i have change location still getting same error.

arham837 commented 1 year ago

from selenium import webdriver from webdriver_manager.chrome import ChromeDriverManager import warnings from selenium.webdriver.common.keys import Keys from selenium.webdriver.common.action_chains import ActionChains from selenium.webdriver.common.by import By from selenium.webdriver.support import expected_conditions as EC from selenium.webdriver.support.ui import WebDriverWait

class Setup: def init(self): warnings.filterwarnings("ignore") chrome_options = webdriver.ChromeOptions() chrome_options.add_argument('--window-size=1036, 674') chrome_options.add_experimental_option("excludeSwitches", ["enable-automation"]) chrome_options.add_experimental_option('useAutomationExtension', False)

chrome_options.add_argument('--headless')

    chrome_options.add_argument("--log-level=3")
    chrome_options.add_experimental_option("prefs", {
    "profile.default_content_setting_values.notifications": 1
        })
    self.browser = webdriver.Chrome(executable_path=ChromeDriverManager().install(), options=chrome_options, )

def close_browser(self):
    self.browser.close()
asimptot commented 1 year ago

can you share your code as screenshot and error logs, please?

arham837 commented 1 year ago

Screenshot is attched https://ibb.co/fYP6kK2

asimptot commented 1 year ago

Where is your code screenshot?

arham837 commented 1 year ago

code screenshot https://ibb.co/bX6JYQq

asimptot commented 1 year ago

You should use the code in the repository. As I saw, you added different code blocks.

arham837 commented 1 year ago

can you tell me how to do that.

asimptot commented 1 year ago

you should copy from the repo to your local.

Repo: https://github.com/asimptot/FollowerBot/blob/main/get_instagram_followers.py

arham837 commented 1 year ago

I have entered same script still i am getting error of retrying.

asimptot commented 1 year ago

If you don't share logs, I cannot take an action on my side, sorry.

arham837 commented 1 year ago

can i share you my script screenshot and error screenshot.?

asimptot commented 1 year ago

sure.

arham837 commented 1 year ago

This is my script from time import sleep import sys sys.path.append(r'C:\Users\mansh\Desktop\FollowerBot-main\FollowerBot-main') from init import * from selenium.webdriver.support import expected_conditions as EC from selenium.webdriver.support.ui import WebDriverWait

username = input('What is your Instagram username?\n') print('Getting followers... Please do not terminate the program.')

class Instagram: def setup(self): Setup.init(self)

def go_to_website(self):
    sleep(4)
    self.browser.get('https://tolinay.com/instagram-takipci-hilesi')
    sleep(4)
    N = 6
    actions = ActionChains(self.browser)
    for _ in range(N):
        actions.send_keys(Keys.TAB).perform()
        sleep(2)

    actions.send_keys(post_link).perform()
    sleep(2)

    actions.send_keys(Keys.RETURN).perform()

    element_present = EC.presence_of_element_located((By.XPATH, '/html/body/div[2]/div[2]/div[1]/div/div/div[1]/div'))
    WebDriverWait(self.browser, 1000).until(element_present)

    if("Başarıyla Gönderildi" in self.browser.page_source):
        print(f"\n10 followers followed you!")
        self.browser.save_screenshot('followed.png')
    elif("Çok Hızlı İşlem Yapıyorsunuz" in self.browser.page_source):
        print(f"\nError! Do not run the program fast mode!")
        self.browser.save_screenshot('error.png')
    else:
        print(f"\nError! Your credits have been expired! Please change your Instagram username.")
        self.browser.save_screenshot('error.png')

def close_browser(self):
    Setup.close_browser(self)

ig = Instagram() j = 0 while(True): ig.setup() i = 0 try: while(True): try: ig.go_to_website() i = i + 1 except: ig.close_browser() j = j + 1 except: print('An error has been occurred. Retrying...')

asimptot commented 1 year ago

This is not my code. So I cannot help you. Please use the latest code.

Wrong part is:

N = 6
actions = ActionChains(self.browser)
for _ in range(N):
    actions.send_keys(Keys.TAB).perform()
    sleep(2)

actions.send_keys(post_link).perform()
sleep(2)
arham837 commented 1 year ago

This is screen shot attached to it and downside is error i am getting https://ibb.co/gWQgwGG

arham837 commented 1 year ago

This code is enter by you in ref
https://github.com/asimptot/FollowerBot/issues/58#issuecomment-1436683660

asimptot commented 1 year ago

yes, but it's for like bot. You cannot apply every given solution to other codes like this.

arham837 commented 1 year ago

from time import sleep import sys sys.path.append(r'C:\Projects\Get_Free_Followers') from init import * from selenium.webdriver.support import expected_conditions as EC from selenium.webdriver.support.ui import WebDriverWait

username = input('What is your Instagram username?\n') print('Getting followers... Please do not terminate the program.')

class Instagram: def setup(self): Setup.init(self)

def go_to_website(self):
    sleep(4)
    self.browser.get('https://tolinay.com/instagram-takipci-hilesi')
    sleep(4)

    uid = self.browser.find_element(By.XPATH, '/html/body/div[2]/div[2]/div[2]/form/div/div[1]/input')
    uid.send_keys(username)
    sleep(2)

    button = self.browser.find_element(By.XPATH, '/html/body/div[2]/div[2]/div[2]/form/div/div[3]/button')
    button.click()

    element_present = EC.presence_of_element_located((By.XPATH, '/html/body/div[2]/div[2]/div[1]/div/div/div[1]/div'))
    WebDriverWait(self.browser, 1000).until(element_present)

    if("Başarıyla Gönderildi" in self.browser.page_source):
        print(f"\n10 followers followed you!")
        self.browser.save_screenshot('followed.png')
    elif("Çok Hızlı İşlem Yapıyorsunuz" in self.browser.page_source):
        print(f"\nError! Do not run the program fast mode!")
        self.browser.save_screenshot('error.png')
    else:
        print(f"\nError! Your credits have been expired! Please change your Instagram username.")
        self.browser.save_screenshot('error.png')

def close_browser(self):
    Setup.close_browser(self)

ig = Instagram() j = 0 while(True): ig.setup() i = 0 try: while(True): try: ig.go_to_website() i = i + 1 except: ig.close_browser() j = j + 1 except: print('An error has been occurred. Retrying...') as this is your code i am still getting error see i will be attaching screenhot.

arham837 commented 1 year ago

See this error https://ibb.co/8jZ3GVZ

asimptot commented 1 year ago

It seems the same error as get_instagram_likes.py. When you added in the following code block, what kind of error did you get? Please send screenshot of your error.

N = 6 actions = ActionChains(self.browser) for _ in range(N): actions.send_keys(Keys.TAB).perform() sleep(2)

actions.send_keys(post_link).perform() sleep(2)