-
Notifications
You must be signed in to change notification settings - Fork 3
/
serial_upvoter.py
executable file
·65 lines (54 loc) · 1.82 KB
/
serial_upvoter.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
#!/usr/bin/python
import os
import time
import getpass
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from ConfigParser import SafeConfigParser
# Reading configuration file
parser = SafeConfigParser()
parser.read('config.ini')
parameters = {}
for pairs in parser.sections(): # Parse the configuration file
for name, value in parser.items(pairs):
parameters[name] = value
# Automating your browser
chromedriver = parameters["path"]
os.environ["webdriver.chrome.driver"] = chromedriver
#Uncomment this block if you don't want images to load(makes the procss a little bit faster)
'''
chromeOptions = webdriver.ChromeOptions()
prefs = {"profile.managed_default_content_settings.images":2}
chromeOptions.add_experimental_option("prefs",prefs)
browser = webdriver.Chrome(chromedriver, chrome_options=chromeOptions)
'''
browser = webdriver.Chrome(chromedriver)
browser.set_window_size(1120, 550)
browser.get("http://www.quora.com") # Quora home page
time.sleep(3)
# Logging into Quora
form = browser.find_element_by_class_name('regular_login')
email = form.find_element_by_name("email")
password = form.find_element_by_name("password")
email.send_keys(parameters["email_id"])
try:
pass_word = parameters["pass_word"]
except:
pass_word = getpass.getpass() # If you want to enter password on terminal
password.send_keys(pass_word)
password.send_keys(Keys.RETURN)
time.sleep(2)
# Fetching answers page of t6he user
answers_url = "https://www.quora.com/" + parameters["username"] + "/answers"
browser.get(answers_url)
#Upvoting answers one by one from top to bottom
counter=0
while True:
try:
elem=browser.find_element_by_xpath("//*[@action_click='AnswerUpvote']")
counter=counter+1
elem.click()
time.sleep(4)
except:
break
print str(counter) +" answers upvoted.."