Python Forum
IndentationError: unexpected indent
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
IndentationError: unexpected indent
#1
hello ladies and gentleman i built an automation bot with selenium and webdriver and everything was working fine
but after i tried to add a function to make the bot works with proxy list .txt i found a lot of issues could you please showme where is the problem and if u r able to fix and and thnx in advance
from selenium import webdriver
from time import sleep
import os
from selenium.webdriver.support.ui import Select, WebDriverWait
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support import expected_conditions as EC
from pynput.keyboard import Key, Controller
import traceback

keyboard = Controller()

def make_appointment(member):
    #adding the webdriver options so we don't encounter some problems
    options = webdriver.ChromeOptions()
    options.add_argument("start-maximized")
    options.add_argument('disable-infobars')

################################
# HELPER FUNCTIONS DEFINITIONS #
################################


############################
# MAIN FUNCTION DEFINITION #
############################

def get_input():
    IP = []
    with open ("ips.txt", 'r') as file_input:
        for line in file_input:
            x = (line.strip())
            IP.append(x)

    return IP

def configure_driver(ip):
    options = webdriver.ChromeOptions()
    next_server = "--proxy-server=" + ip
    options.add_argument(next_server)
    #options.add_argument("headless")
    driver = webdriver.Chrome(chrome_options=options)
    return driver

    #reading a text file containing all the info we want to pass to the application, then passing that info
    filepath = 'C:/Users/rzlt/Desktop/member' + str(member) + '.txt'
    with open(filepath) as fp:
        lines = fp.readlines()

    driver = webdriver.Chrome(chrome_options=options)
    return driver
	
    for ip in i:
	driver = configure_driver(ip)
    driver.get('http://egypt.blsspainvisa.com/book_appointment.php')                    #open webpage

    try:
        driver.find_element_by_xpath('//*[@id="IDBodyPanelapp"]/div[1]').click()        #clicks the 'X'(close) button if it appears
    except:
        print("Exception occured, pop up didn't appear")

    time.sleep(3)

    #selecting the 'Cairo' centre option
    select = Select(driver.find_element_by_id('centre'))
    time.sleep(2)
    select.select_by_visible_text('Cairo')

    #filling phone text field
    driver.find_element_by_id('phone').send_keys(lines[1])

    #getting a spare email address using 'https://temp-mail.org/' webpage and passing it to the text field
    #after that, retrieving the verification code sent to that address
    current_window = driver.current_window_handle
    driver.execute_script("window.open('https://temp-mail.org')")
    WebDriverWait(driver, 10).until(EC.number_of_windows_to_be(2))
    windows_after = driver.window_handles
    new_window = [x for x in windows_after if x != current_window][0]
    driver.switch_to_window(new_window)
    spare_email = driver.find_element_by_id('mail').get_attribute('value')
    driver.switch_to_window(current_window)
    driver.find_element_by_id('email').send_keys(spare_email)
    driver.find_element_by_xpath('//*[@id="em_tr"]/div[2]/abbr/a').click()
    driver.switch_to_window(new_window)
    time.sleep(10)
    driver.find_element_by_xpath('//*[@id="mails"]/tbody/tr/td[3]/a/span').click()
    time.sleep(2)
    ver_code = driver.find_element_by_xpath('/html/body/div[2]/div/div/div[2]/div[1]/div[1]/div[3]/div/div/table').text[-4:]
    driver.switch_to_window(current_window)
    driver.find_element_by_id('otp').send_keys(ver_code)

    #pressing the 'continue' button and then the 'agree' button
    driver.find_element_by_name('save').click()
    driver.find_element_by_name('agree').click()

    appointment_made = False
    while(not appointment_made):
        try:
            driver.find_element_by_xpath('//*[@id="app_date"]').click()             #this makes the datepicker appear
            all_appointments = driver.find_elements_by_xpath('//*[@title="Book"]')
            #print(all_appointments)
            if len(all_appointments) != 0:
                all_appointments[0].click()
                appointment_made = True

        except:
            print("Exception occured...")
            keyboard.press(Key.f5)
            time.sleep(4)
            traceback.print_exc()
    driver.find_element_by_xpath('//*[@id="app_time"]/option[2]').click()           #sets the Appointment Time
    driver.find_element_by_xpath('//*[@id="VisaTypeId"]/option[2]').click()         #sets the Visa Type

    driver.find_element_by_id('first_name').send_keys(lines[2])             #sets the first name
    driver.find_element_by_id('last_name').send_keys(lines[3])              #sets the last name
    driver.execute_script("document.getElementById('dateOfBirth').value=" + lines[4])                          #sets the Date Of Birth
    driver.find_element_by_id('passport_no').send_keys(lines[5])                #sets the Passport Number
    driver.execute_script("document.getElementById('pptIssueDate').value=" + lines[6])       #sets the Passport Issue Date
    driver.execute_script("document.getElementById('pptExpiryDate').value=" + lines[7])  #sets the Passport Expiry Date
    driver.find_element_by_id('pptIssuePalace').send_keys(lines[8])             #sets the passport Issue Place

	       except:
            pass
            print ("we are beeing redirectedddd -----> ip is blocked")
            print ("starting with next available IP") 
    time.sleep(100)
Reply
#2
Line 53,54 need to be indented.
Line 121 has except: but no try in that block.

The code is messy.
Function def configure_driver(ip): is a lie,it dos way more that that Wink
Documentation should not be in end of line.
Reply
#3
thnx guys
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  IndentationError: unexpected indent in views.py ift38375 1 2,505 Dec-08-2019, 02:33 PM
Last Post: michael1789
  Unexpected indent / invalid syntax tjnichols 38 18,697 May-16-2018, 10:24 PM
Last Post: tjnichols

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020