Advertisement
renix1

simulate browser action

Sep 16th, 2018
132
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.47 KB | None | 0 0
  1. # coding:utf-8
  2. from selenium import webdriver
  3. from selenium.webdriver.common.keys import Keys
  4. import pickle
  5. import time
  6.  
  7.  
  8. class User:
  9.     def __init__(self, user=None, psswd=None):
  10.         self._user = user
  11.         self._psswd = psswd
  12.  
  13.  
  14.     def save_data(self):
  15.         user_data = (self._user, self._psswd)
  16.         with open('data.dat', 'wb') as f:
  17.             pickle.dump(user_data, f)
  18.  
  19.  
  20.     def retrieve_data(self):
  21.         with open('data.dat', 'rb') as f:
  22.             user_data = pickle.load(f)
  23.         return user_data
  24.  
  25.  
  26. class Bot:
  27.     def __init__(self):
  28.         self._url = "https://www.facebook.com/login.php"
  29.         self.driver = webdriver.Chrome("chromedriver.exe")
  30.  
  31.     def start(self):
  32.         self.driver.get(self._url)
  33.         assert "Entrar no Facebook | Facebook" in self.driver.title
  34.  
  35.     def login(self, t_data):
  36.         u, p = t_data[0], t_data[1]
  37.         email_container = self.driver.find_element_by_id('email')
  38.         email_container.send_keys(u)
  39.         password_container = self.driver.find_element_by_id('pass')
  40.         password_container.send_keys(p)
  41.         password_container.send_keys(Keys.RETURN)
  42.         assert "Facebook" in self.driver.title
  43.         self.messages()
  44.  
  45.     def messages(self):
  46.         elem = self.driver.find_element_by_class_name('jewelButton')
  47.         parent = elem.find_element_by_xpath('..')
  48.         print(parent)
  49.         # parent.click()
  50.  
  51.     def close(self):
  52.         time.sleep(5)
  53.         self.driver.close()
  54.  
  55.  
  56. def main():
  57.     user_config = User()
  58.     data = user_config.retrieve_data()
  59.     bot = Bot()
  60.     bot.start()
  61.     bot.login(data)
  62.     bot.close()
  63.  
  64.  
  65. if __name__ == '__main__':
  66.     main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement