Advertisement
Guest User

Untitled

a guest
Nov 12th, 2020
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.92 KB | None | 0 0
  1. from selenium import webdriver
  2. from selenium.webdriver.common.by import By
  3. from selenium.webdriver.support import expected_conditions
  4. from selenium.webdriver.support.wait import WebDriverWait
  5. import logging
  6.  
  7.  
  8. class TestParser(object):
  9.  
  10.     def __init__(self, driver):
  11.         self.driver = driver
  12.  
  13.     def parse_test_page(self):
  14.         quotes = []
  15.         gideon_quotes = []
  16.         self.driver.get("https://agoldoffish.wordpress.com/criminal-minds-opening-and-closing-quotes/")
  17.         quote_elems = self.driver.find_elements_by_tag_name('p')
  18.  
  19.         for elem in quote_elems:
  20.             quotes.append(elem.text)
  21.  
  22.         for i in quotes:
  23.             index = i.find("Gideon")
  24.             if index != -1:
  25.                 s = i
  26.                 s = s[8:]
  27.                 gideon_quotes.append(s)
  28.  
  29.         return gideon_quotes
  30.  
  31.  
  32.     def add_quotes(self):
  33.         logging.getLogger().setLevel(logging.INFO)
  34.         quotes = self.parse_test_page()
  35.         self.driver.get("https://www-5fa8f93d77d1751743e9c1ef.recruit.eb7.io/")
  36.         WebDriverWait(self.driver, 30000).until(
  37.             expected_conditions.visibility_of_element_located((By.CSS_SELECTOR, ".quotes__body")))
  38.         for quote in quotes:
  39.             self.driver.find_element(By.ID, "show-modal").click()
  40.             self.driver.find_element(By.ID, "autorInput").click()
  41.             self.driver.find_element(By.ID, "autorInput").send_keys("Gideon")
  42.             self.driver.find_element(By.ID, "quoteInput").click()
  43.             self.driver.find_element(By.ID, "quoteInput").send_keys(quote)
  44.             self.driver.find_element(By.CSS_SELECTOR, ".btn-success").click()
  45.             logging.info("Next Gideon's quote was successfully added: %s" % quote)
  46.  
  47. def main():
  48.     driver = webdriver.Chrome()
  49.     parser = TestParser(driver)
  50.     parser.add_quotes()
  51.  
  52.  
  53. # Press the green button in the gutter to run the script.
  54. if __name__ == '__main__':
  55.     main()
  56.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement