Python Forum

Full Version: Syntax Error : I can't identify what's wrong!
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2
# imports
import random
import time
from selenium import webdriver

class Commenter:
# declares variables for commentor script
    def __init__(self):
        self.error = "[!] There was an error!"
        self.url =  " "
        self.browser = webdriver.Chrome(executable_path = '/Users/carsonrhodes/Desktop/Chrome Driver/chromedriver')
        self.comment_box = " "

# logs user into browser so that they may comment on a video.
    def login(self):

        # URL for google login
        url = "https://accounts.google.com/servicelogin"

        try:
            browser.get(url)

            print("What is your Google email?")
            email = input("")
            print("What is your Google password?")
            password = input("")

            email_input = browser.find_element_by_type("email")
            email_input.send_keys(email, Keys.ENTER)
            password_input = browser.find_element_by_type("password")
            password_input.send_keys(password, Keys.ENTER)

        except:
            print(" ")
            print(self.error)

# fetches input URL from user
    def fetch_input(self):
        print("- ")
        print("What video do you want to comment on?")
        print("- ")
        self.url = input("Enter URL: ") #sample url : https://www.youtube.com/watch?v=SEpmYLu-CCA

# finds comment box so that the script can comment.
    def find_comment_box(self):
        try:
            self.browser.get(self.url)
            self.comment_box = self.browser.find_element_by_id(contenteditable-root)
        except:
            print(self.error)

# generates a comment from CSV file.
    def generate_comment(self):
         comments = []
         try:
            with open('Comments for Bot .csv') as csv_file:
                csv_reader = csv.reader(csv_file, delimiter='\n')
                for row in csv_reader:
                 comments.append(row)

            return(random.choice(comments))
         except:
            print(" ")
            print(self.error)

# fetches comment from generating script
    def fetch_comment(self):
        comment = self.generate_comment()
        print("[!] Comment generated successfully!")
        return(comment)

# enters comment into comment box on YouTube
    def enter_comment(self):
        self.comment_box.send_keys(self.fetch_comment())


Commenter = Commenter() #creates class (cannot call methods without calling class)

# code starts here:
Commenter.login()
Commenter.fetch_input()
Commenter.find_comment_box()
Commenter.generate_comment()
What seems to be wrong here? I can't figure it out.
Please, post the entire traceback that you get.
Take a time to read What to include in a post
You should get also IndentationError (e.g. look at lines 54-64)
(May-31-2019, 04:18 PM)buran Wrote: [ -> ]Please, post the entire traceback that you get.
Take a time to read What to include in a post
You should get also IndentationError (e.g. look at lines 54-64)

Yes, my apologies regarding the tags,

Right off the bat, I get an error from the login method (the except block is ran)
When I insert the link, I get a syntax error.

Here is the console when the program is ran:
Error:
[!] There was an error! - What video do you want to comment on? - Enter URL: https://www.youtube.com/watch?v=SEpmYLu-CCA Traceback (most recent call last): File "/Users/carsonrhodes/PycharmProjects/dyl/venv/Main.py", line 97, in <module> Commenter.fetch_input() File "/Users/carsonrhodes/PycharmProjects/dyl/venv/Main.py", line 58, in fetch_input self.url = input("Enter URL: ") #sample url : https://www.youtube.com/watch?v=SEpmYLu-CCA File "<string>", line 1 https://www.youtube.com/watch?v=SEpmYLu-CCA ^ SyntaxError: invalid syntax Process finished with exit code 1
Which python version are you using?
this looks strange:
Error:
File "<string>", line 1 https://www.youtube.com/watch?v=SEpmYLu-CCA
for start remove the try/except block from the login() method to fix this error. when using all-catch exception you mask what is going on
also don't use Commenter as instance variable, use commenter
ah, Yoriz has a point
(May-31-2019, 04:43 PM)Yoriz Wrote: [ -> ]Which python version are you using?
I am using Python 2.7
Quote:self.url = input("Enter URL: ")
python2.x is raw_input()
Either use python3.x or change all input() to raw_input()
(Jun-10-2019, 01:36 AM)metulburr Wrote: [ -> ]
Quote:self.url = input("Enter URL: ")
python2.x is raw_input() Either use python3.x or change all input() to raw_input()

Hey

I changed all my inputs to raw_inputs, thank you for this tip.

I still have my except blocks going off and I'm not quite sure why.
My login method doesn't seem to work at all.

# imports
import random
import time
from selenium import webdriver

class Commenter:
# declares variables for commentor script
    def __init__(self):
        self.error = "[!] There was an error!"
        self.url =  " "
        self.browser = webdriver.Chrome(executable_path = '/Users/carsonrhodes/Desktop/Chrome Driver/chromedriver')
        self.comment_box = " "

# logs user into browser so that they may comment on a video.
    def login(self):

        # URL for google login
        url = "https://accounts.google.com/servicelogin"

        try:
            browser.get(url)
            time.sleep(4)
            print("What is your Google email?")
            email = raw_input("")
            print("What is your Google password?")
            password = raw_input("")
            time.sleep(3)
            email_input_box = browser.find_element_by_type("email")
            email_input_box.send_keys(email, Keys.ENTER)
            password_input_box = browser.find_element_by_type("password")
            password_input_box.send_keys(password, Keys.ENTER)

        except:
            print(" ")
            print(self.error)

# fetches input URL from user
    def fetch_input(self):
        print("- ")
        print("What video do you want to comment on?")
        print("- ")
        self.url = raw_input("Enter URL: ") #sample url : https://www.youtube.com/watch?v=SEpmYLu-CCA

# finds comment box so that the script can comment.
    def find_comment_box(self):
        try:
            self.browser.get(self.url)
            self.comment_box = self.browser.find_element_by_id(contenteditable-root)
        except:
            print(self.error)

# generates a comment from CSV file.
    def generate_comment(self):
         comments = []
         try:
            with open('Comments for Bot .csv') as csv_file:
                csv_reader = csv.reader(csv_file, delimiter='\n')
                for row in csv_reader:
                 comments.append(row)

            return(random.choice(comments))
         except:
            print(" ")
            print(self.error)

# fetches comment from generating script
    def fetch_comment(self):
        comment = self.generate_comment()
        print("[!] Comment generated successfully!")
        return(comment)

# enters comment into comment box on YouTube
    def enter_comment(self):
        self.comment_box.send_keys(self.fetch_comment())


Commenter = Commenter() #creates class (cannot call methods without calling class)

# code starts here:
Commenter.login()
Commenter.fetch_input()
Commenter.find_comment_box()
Commenter.generate_comment()
Change your try/except blocks, so the exception that happens is actually displayed
try:
    ...
    ...
except Exception as exception:
    print(exception)
Pages: 1 2