Advertisement
Guest User

Untitled

a guest
Apr 6th, 2016
146
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.11 KB | None | 0 0
  1. from selenium import webdriver
  2. from selenium.webdriver.common.keys import Keys
  3. from selenium.webdriver.support.ui import WebDriverWait
  4. from selenium.webdriver.support import expected_conditions as EC
  5. from selenium.webdriver.common.by import by
  6. import time
  7. import smtplib
  8. import re
  9. from time import strftime
  10. import sys
  11. import socket
  12.  
  13. chromedriver = 'C:/chromedriver/chromedriver.exe'
  14. HOME = 'https://www.flyduino.net'
  15. login_xpath = '//*[@id="login"]'
  16. email_xpath = '//*[@id="email_quick"]'
  17. password_xpath = '//*[@id="password_quick"]'
  18. availability_xpath = '//*[@id="buy_form"]/div/div[2]/div[1]/ul/li[1]/span'
  19. account_xpath = '//*[@id="breadcrumb"]/a[2]'
  20. quantity_xpath = '//*[@id="quantity"]'
  21. add_xpath = '//*[@id="article_buyfield"]/fieldset/div/span/button'
  22. basket_xpath = '//*[@id="headlinks"]/ul/li[6]/a/span'
  23. add_result_xpath = '//*[@id="contentmid"]/p'
  24. basket2_xpath = '//*[@id="basket_checkout"]/p'
  25. buy_xpath = '//*[@id="complete_order"]/div[3]/div/div[1]/input'
  26.  
  27. amount = 5
  28.  
  29. availible = 'Availible now!'
  30. short = 'Short Supply'
  31. not_avilible = 'Not availible now!'
  32. smaller = "The quantity you wish of that product is not available. Please give a smaller quantity."
  33.  
  34. ESC_url = 'http://flyduino.net/KISS-ESC-2-5S-24A-race-edition-32bit-brushless-motor-ctrl_1'
  35.  
  36.  
  37. def notification (message = None):
  38. try:
  39. text = 'Shit is fucked up with KISS24 skriptz'
  40. if message:
  41. text = message
  42. username = 'email@email.com'
  43. password = 'only-morons-code-passwords-as-strings'
  44. server = smtplib.SMTP( "smtp.gmail.com", 587)
  45. server.startttls()
  46. server.login( username, password )
  47. server.sendmail( 'KISS24 skriptz', text )
  48.  
  49. except:
  50. pass
  51.  
  52. def wait_for(xpath, seconds = 30):
  53. wait = WebDriverWait(browser, seconds)
  54. wait.until(EC.visibility_of_element_located((By.XPATH, xpath)))
  55.  
  56. def clik(xpath):
  57. browser.find_element_by_xpath(xpath).click()
  58.  
  59. browser = webdriver.Chrome(chromedriver)
  60. browser.get(HOME)
  61. wait_for(login_xpath)
  62. print "login found"
  63. browser.find_element_by_xpath(log_xpath).click()
  64. login = browser.find_element_by_xpath(email_xpath)
  65. password = browser.find_element_by_xpath(password_xpath)
  66. login.send_keys('email@email.com')
  67. password.send_keys('only-morons-code-passwords-as-strings')
  68. password.send_keys(Keys.ENTER)
  69. wait_for(account_xpath)
  70.  
  71. while True:
  72. try:browser.get(ESC_url)
  73. wait_for(availability_xpath)
  74. availability = str(browser.find_element_by_xpath(availability_xpath).text)
  75. if availability == available or availability == short:
  76. print availability
  77. wait_for(quantity_xpath)
  78. quantity = browser.find_element_by_xpath(quantity_xpath)
  79. quantity.send_keys(Keys.BACK_SPACE)
  80. quantity.send_keys(str(amount))
  81. browser.find_element_by_xpath(add_xpath).click()
  82. wait_for(add_result_xpath)
  83. result = str(browser.find_element_by_xpath(add_result_xpath).text)
  84. if result == 'Your selected product was added to your basket':
  85. click(basket_xpath)
  86. wait_for(basket2_xpath)
  87. click(basket2_xpath)
  88. click(buy_xpath)
  89. notification(availability)
  90. else:
  91. amount -= 1
  92. except Exception as inst:
  93. print type(inst)
  94. print inst.args
  95. print inst
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement